2017-12-06 11 views
0

かなり新しいジャバスクリプトファイルにカスタムフィルタを使用し、これが私の闘争である私が達成したい何AngularJSはangularjsへ

.filter('bsMyFilter', myFilter); 

my-component.component.jsの内部にはデフォルトのcurrencyFilterを使用せず、代わりにmyFilterを使用します。これは可能ですか? Thx

+0

あなたはフィルタを 'app.filter( 'myFilter'、function(){...});に変更する必要があると思うので、自動的に' $ filter'の一部になります。コンストラクタ($ filter){...}を使って 'this.message = $ filter( 'myFilter')(this.message);'(これはどこかで間違っている可能性がありますES6の構文、_adjust応じて_) –

+0

私は何かを持っています。フィルタ( 'bsMyFilter'、myFilter);私はこれを変更できるかどうかわかりませんが、フィルタを挿入する他の方法はありますか?どうやって ? – paulalexandru

+0

(私はES6を完全に避ける)注入に関するすべては次の通り:['$ injector'](https://docs.angularjs.org/api/auto/service/$injector)ここではES6クラスの注入が可能です:['$ injector.annotate(fn)'](https://stackoverflow.com/questions/27529518/automatically-set-arguments-as-instance-properties-in-es6/37330930#37330930) –

答えて

0

注入$filter$filter('bsMyFilter')はあなたですフィルターします。 少なくとも1.6の角度で - しかし私は彼らがそれを変えるのをやめました。

注:テンプレートで使用しない場合は、単に工場を作成してください。