【发布时间】:2014-03-06 11:07:51
【问题描述】:
总的来说,我是 Angular 和 Javascript OOP 的新手。我希望构建一个可重用的角度组件,其中所有控件都可以绑定到 javascript 对象的实例。我遇到的一个奇怪行为是尝试使用 javascript 对象的方法过滤集合。
我有一个带有签名的方法 filterVisible 的对象:
this.filterVisible = function(item)
当我尝试使用由该对象方法过滤的 ng-repeat 时:
ng-repeat="item in item1.items | filter: item1.filterVisible"
它似乎不起作用,但如果我将该对象方法包装在我的 $scope 中的一个方法中,如下所示:
$scope.filterVisible1 = function(item) {
return ($scope.item1.filterVisible(item));
}
并将我的重复更改为:
ng-repeat="item in item1.items | filter: filterVisible1"
有效。
这有点令人困惑,所以我将其放入plunker。有人可以解释为什么使用范围方法的过滤器有效,但使用对象方法的过滤器不起作用吗?
【问题讨论】:
标签: javascript angularjs