javascript - AngularJS:如何获取经过过滤的 ng-options 数组

标签 javascript angularjs

我有一个这样的选择:

<select ng-model="myType"
ng-options="type in types | filter:compatibleTypes">

兼容类型被 Controller 定义为 $scope 中的函数:

$scope.compatibleTypes = function(item) {
 //Returns true or false
 //depending on another model
}

在 Controller 中,我需要知道数组“type”的第一个过滤元素(如果有)。 或者更准确地说,当模型“myType”发生变化时,我必须使用过滤列表的第一个元素来设置它的值。

最佳答案

filter 是 Angular 原生过滤器。这意味着它可以注入(inject)到很多地方,包括你的 Controller :

var myController = ['$scope', 'filterFilter', function ($scope, filterFilter) {
    $scope.compatibleTypes = function(item) {
        //Returns true or false
        //depending on another model
    }
    $scope.filteredResults = filterFilter($scope.types, $scope.compatibleTypes);
}];

关于javascript - AngularJS:如何获取经过过滤的 ng-options 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27403426/

相关文章:

javascript - 使用 ng-include 渲染 Angular 模板时出现问题

angularjs - 如何删除 ngMap 上的默认 A B 标记

javascript - 如何测试缩小后的文件?

javascript - AngularJS - 当使用切片两次时数据不可用时,ng-repeat 显示空单元格

javascript - 如何向 Facebook 分享按钮(通过 FB.ui 生成)添加计数器?

javascript - 将分配替换为延迟分配

Javascript DOM编码的html代码问题

javascript - 扩展 Joi 未实现自定义运算符

javascript - Rhino JS 在函数返回期间错误地将 JSON 字符串转换为对象

javascript - 使用 LocalStorage 和 AngularJS 的缓慢应用程序