2016-05-23 5 views
5

は言う、試験フィルターを考えると、各単語の最初の文字大文字になります。この'capitalize' filter:どのようにこのフィルタは、ブラウザのJavaScriptコンソールからブラウザコンソールからAngularJSフィルタにアクセスしてテストするにはどうすればよいですか?

return function (input) { 
    return (!!input) ? input.replace(/([^\W_]+[^\s-]*) */g, function (txt) { 
    return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); 
    }) : ''; 
} 

をテストすることができますか?

答えて

8

フィルタは、{{のmyStringを結合HTMLテンプレートで呼び出すことができます|ブラウザでアクセスできるようにするには、優れた選択肢があります。

angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test')

結果:あなたはアクセス、このようcapitalizeフィルタを呼び出してテストするため、$filterサービスを介してすることができます呼び出すことができるフィルタを実現Angular $filter documentation

あたり

$filter('filter')(array, expression, comparator):これを考えてみましょうコンソールで?複数の入力を持つフィルタについて"Capitalization Test"

何? capitalizeフィルタは、最初の単語だけに総額を制限するための第2のBooleanパラメータがあった場合だけ、たとえば、パラメータを追加します。このSO記事へ

angular.element(document.body).injector().get('$filter')('capitalize')('capitalization test', true)

OR

angular.element(document.body).injector().get('$filter')('capitalize').apply(null, ['capitalization test', true])

賞賛をし、コンソールからのサービスへのアクセスを投稿するための関連するブログエントリ:access service from console

+1

これは、デバッグモードが有効な場合にのみ機能します。無効になっている場合、angular.reloadWithDebugInfo()を実行できます。 – Casey

+0

@Casey知っておいて、チップのおかげでよかった! – ryanm

+0

@ryanmこれは本当にありがとうございました。これは本当に多くの時間を節約し、とても簡単なヒントでした。 – crackerplace

関連する問題