我是AngularJS的新手。我已經構建了一個指令,在一個名爲「todos」的數組上使用了一個Isolate Scope(=)。然後過濾todos數組,並將其稱爲filteredArray。我的「todos」元素使用雙向綁定進行更新,但我不知道必須將todos的更新綁定到filteredArray。如何更新AngularJS指令中的過濾數組?
我已經爲我的實驗設置了一個小提琴:http://jsfiddle.net/apkk3rjc/你甚至可以看到我試圖在我的JS的第50行上設置一個簡單的$ watch(),但它似乎沒有超出第一次加載。
需要明確的是:我不需要雙向綁定回我的控制器,但我確實需要filteredTodos時進行了更改待辦事項自動更新。
這裏是我的指令:
todoApp.directive('todoList', ['filterFilter', function(filterFilter) {
return {
restrict: 'E',
templateUrl: 'todo-list.html',
scope: {
todos: '='
},
link: function (scope, element, attrs) {
// scope.todos is bound
// scope.filteredTodos is not!
scope.filteredTodos = filterFilter(scope.todos, { completed: false });
}
};
}]);
可重複演示將有所幫助 – 2014-10-05 11:41:39
按需過濾,或在未過濾的陣列上使用手錶。 – 2014-10-05 11:59:59