AngularJS のディレクティブを使用して最初のステップを実行していますが、このディレクティブは機能しません。
私はng-repeat
リストを持っています
<ul ng-after-list-filter>
<li ng-repeat="item in items | filter:activeFilter.filterType = activeFilter.filterValue">...</li>
</ul>
でフィルタリングされています$scope.activeFilter.filterValue
リストがフィルタリングされた後に実行されるようにディレクティブを作成しようとしているので、その新しい要素ng-after-list-filter
でdom操作を行うことができます。ul
これは機能していない私のディレクティブです:
myModule.directive('ngAfterListFilter',function(){
return {
restrict: 'A',
link: function(scope,element,attrs) {
scope.$watch(scope.activeFilter.filterValue, function(val) {
console.log('do something here');
});
}
}
});
どうすれば機能しますか?scope.activeFilter.filterValue は更新されていないと思いますが、スコープ内にあり、更新され、リストがフィルタリングされます。この変数を監視しようとしているのに、なぜ機能しないのですか?
このディレクティブを作成するより良い方法はありますか? つまり、リストが更新されたときにDOMの変更を実行したい(物事のサイズを調整する)。を聞く方法はあり
$('ul').html()
ますか?私はそれを試しましたが、JavaScriptに生のテキストを入れたというエラーが出力されます