sublist
ディレクティブをページのいくつかの場所で使用する必要があり、完全なfields
リストを含む必要があります。ここに私の単純なアプローチです:Angular.jsフィルタを双方向( '=')の属性に渡します
HTML:
<div ng-controller="MainCtrl">
<sublist fields="fields" /> <!-- This one is OK -->
<sublist fields="fields | filter: 'Rumba'" /> <!-- This one raises error -->
</div>
Javascriptを:
angular.module('myApp', [])
.directive('sublist', function() {
return {
restrict: 'E',
scope: { fields: '=' },
template: '<div ng-repeat="f in fields">{{f}}</div>'
};
})
.controller('MainCtrl', function($scope) {
$scope.fields = ['Samba', 'Rumba', 'Cha cha cha'];
});
私はこのエラーを取得していますフィルタを使用しようとすると:
Error: 10 $digest() iterations reached. Aborting!
この問題の解決策はありますか?
+1説明と参考のためです。 –
複数のフィルタや並べ替えなどが必要な場合はどうすればよいですか?ディレクティブにフィルタリング/ソートされたリストを渡す一般的な解決法はありますか? –
@EugeneOsovetsky:その時点で '$ filter'を注入することで、指示リンク/コントローラ機能の重い作業をやるのがより簡単で必要です。 (つまり、このQ&Aコンテキストは、MVCパラダイムのコントローラ部分ではなく、ビューです。コントローラは、より複雑にすることができます)。[stackoverflow.com/a/14302334/2185093](http://stackoverflow.com/a)/14302334/2185093)詳細情報 – sh0ber