我有点demo on jsfiddle:
HTML:
<input type="checkbox" id="chkUsr{{usr.Id}}" ng-model="usr.Checked">
{{usr.Name}} : {{usr.Checked}}
<input type="text" ng-model="research"/>
<div ng-repeat="entity in entities | filter:research | log">
Hello {{entity.id}}!
JavaScript:
app.filter('log', function() {
return function(items) {
console.log('yo');
return items;
};
});
输入更改时调用日志过滤器(甚至是复选框)。
如何仅在文本输入发生变化时更改并触发日志过滤器?
答案 0 :(得分:1)
这是因为angular运行$digest
并更新所有范围属性,即使范围中的一个变量发生更改。它被称为“脏检查”。
详细了解角度的工作原理:http://www.sitepoint.com/understanding-angulars-apply-digest/