我是新來的角和Javascript OOP一般。我希望構建一個可重用的角度組件,其中所有控件都可以綁定到一個JavaScript對象的實例。我遇到的一個奇怪的行爲是,試圖用JavaScript對象的方法過濾集合。我可以使用對象方法來過濾ng-repeat嗎?
我用簽名的方法filterVisible對象:
this.filterVisible = function(item)
當我嘗試使用NG-重複該對象的方法方法過濾:
ng-repeat="item in item1.items | filter: item1.filterVisible"
似乎不工作,但如果我在我的$範圍中的方法中包裝該對象的方法,如下所示:
$scope.filterVisible1 = function(item) {
return ($scope.item1.filterVisible(item));
}
and chan我重複到:
ng-repeat="item in item1.items | filter: filterVisible1"
它的工作原理。
這有點令人困惑,所以我把它放入plunker。有人可以解釋爲什麼過濾器的範圍方法的作品,但過濾器與對象方法不?
我對你的回答有點困惑。 item1在$ scope中定義,並且它定義了一個filterVisible函數。你可以在我的plunker中看到它:http://run.plnkr.co/plunks/VuolUr/ – infomofo
我的道歉,我猜你的代碼。你有JS錯誤。答案被編輯。 – allenhwkim
啊,很好 - 我是js的新手,這件事情依然困擾着我。感謝您的幫助,它現在效果很好! – infomofo