javascript – 在控制器中访问ng-repeat别名表达式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 在控制器中访问ng-repeat别名表达式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1218字,纯文字阅读大概需要2分钟。
内容图文
![javascript – 在控制器中访问ng-repeat别名表达式](/upload/InfoBanner/zyjiaocheng/779/4ad7b38ce7664ec282131218054a0927.jpg)
我在一个指令中有一个筛选列表:
<div ng-repeat="item in items | filter:filter | limitTo:5 as filteredItems">
<div ng-bind="item.title"></div>
</div>
<div><span ng-bind="filteredItems.length"></span> items</div>
我希望访问和操作指令控制器中的筛选列表.但是,scope.filteredItems在控制器中未定义.
如何将过滤后的数组传递给指令的控制器?
解决方法:
您可以通过在控制器中注入$filter并利用以下内容来定位过滤后的数组,定位过滤器的自定义过滤器
$scope.filteredItems = $filter('filter')($scope.items)
这将包括你的新数组,同时应用了filter和limitTo的过滤器.观察简单的例子来证明这一点
<span ng-bind="filteredItems.length"></span><!-- 2 -->
<div class="item" ng-repeat="item in items | filter | limitTo: 2 as filteredItems"></div>
app.filter('filter', function() {
return function(input) {
return input.slice(0, 4); // 4 items - initial filter
};
})
app.controller('ctrl', ['$scope', '$filter', function($scope, $filter) {
$scope.items = [
{'key': 'A', 'value': 0},
{'key': 'B', 'value': 1},
{'key': 'C', 'value': 2},
{'key': 'D', 'value': 3},
{'key': 'E', 'value': 4},
{'key': 'F', 'value': 5},
{'key': 'G', 'value': 6},
{'key': 'H', 'value': 7}
];
$scope.filteredItems = $filter('filter')($scope.items) // 2 items - compound filter
}]);
JSFiddle Link – 工作实例
内容总结
以上是互联网集市为您收集整理的javascript – 在控制器中访问ng-repeat别名表达式全部内容,希望文章能够帮你解决javascript – 在控制器中访问ng-repeat别名表达式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。