3 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
這是一個(gè)比以前更簡(jiǎn)單的方法。
<input ng-model="query">
<div ng-repeat="item in (filteredItems = (items | orderBy:'order_prop' | filter:query | limitTo:4))">
{{item}}
</div>
然后$scope.filteredItems是可訪問(wèn)的。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
這是Andy Joslin解決方案的過(guò)濾器版本。
更新: BREAKING CHANGE。從1.3.0-beta.19版本開(kāi)始(此commit),過(guò)濾器沒(méi)有上下文,并且this將綁定到全局范圍。您可以將上下文作為參數(shù)傳遞,也可以在ngRepeat 1.3.0-beta.17 +中使用新的別名語(yǔ)法。
// pre 1.3.0-beta.19
yourModule.filter("as", function($parse) {
return function(value, path) {
return $parse(path).assign(this, value);
};
});
// 1.3.0-beta.19+
yourModule.filter("as", function($parse) {
return function(value, context, path) {
return $parse(path).assign(context, value);
};
});
然后在您看來(lái)
<!-- pre 1.3.0-beta.19 -->
<input ng-model="query">
<div ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitTo:4 | as:'filteredItems'">
{{item}}
</div>
<!-- 1.3.0-beta.19+ -->
<input ng-model="query">
<div ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitTo:4 | as:this:'filteredItems'">
{{item}}
</div>
<!-- 1.3.0-beta.17+ ngRepeat aliasing -->
<input ng-model="query">
<div ng-repeat="item in items | orderBy:'order_prop' | filter:query | limitTo:4 as filteredItems">
{{item}}
</div>
這使您可以訪問(wèn)$scope.filteredItems。
添加回答
舉報(bào)