如何设置自定义对象属性以在 Angular 类型提前中进行筛选
How to set custom object property to filter against in Angular typeahead?
我正在尝试实现一个通用的typeahead指令。它采用选项列表和配置对象作为属性。配置对象的属性之一是"标签" - 向用户显示什么以及如何过滤用户的查询。但是,我无法在我的过滤器表达式中使用此属性,如下所示:
uib-typeahead="option as option[config.label] for option in options | filter:{ config[label] :$viewValue }
当我尝试这样做时,我收到以下错误:
Syntax Error: Token '[' is unexpected, expecting [:] at column 26 of the expression [options | filter:{ config[label] :$viewValue }] starting at [[label] :$viewValue }].
请帮忙!
ngOptions
想要接受一个对象作为过滤器。 使用下面的语句,您尝试创建并传递给它一个动态键控对象,该对象无法以内联方式完成当前设置,它是无效的 Javscript 语法:
... filter:{ config[label] :$viewValue }
解决此问题的一种方法是在控制器中构造对象,然后将其传递给过滤器,请注意,我按名称引用动态过滤器的值,而不是$viewValue
:
// controller
$scope.filterByObj[$scope.config['label']] = $scope.selectedFilter;
// template
... filter: filterByObj
我举了一个描述这个想法的例子:http://plnkr.co/edit/7gffq3mEtFqrfAP4shrj?p=preview
相关文章:
- Angular 2中的@Angular包缺少TypeScript类型定义
- 触发器<输入类型=“;文件“>用angular程序选择文件
- 类型错误:布尔值不是 Angular 中登录函数的函数
- Angular 2:如何在 GET 和 POST 请求中设置 double、float、int 和布尔类型参数
- Angular 2:HTTP Post Request,带有URL参数和正文类型参数
- 如何从html输入类型=“”中只获得Angular控制器变量中的时间值;时间”;
- 如何设置自定义对象属性以在 Angular 类型提前中进行筛选
- 在 Angular 应用程序上收到错误:类型错误:无法读取未定义的属性“then”
- 使用$http发送JSON会导致angular发送文本/纯内容类型
- Angular formly:为什么指令的行为与类型不同
- "类型错误:对象没有´t支持这个未定义的动作“;Angular应用程序IE8中的错误
- 在Angular模型中,可以在JSON对象和字符串之间切换值类型吗
- Angular JS文件上传使用Angular文件上传-限制文件类型,大小
- 使用外部API过滤Angular中的类型
- Angular+TypeScript+外部模块.如何跨文件维护类型信息
- Angular.JS未捕获类型错误:无法分配给只读属性
- Angular Formly自定义类型控制器在部署时失败
- 使用angular.js验证三维类型密码
- 输入类型text和email在angular指令中的行为不同(双向数据绑定)
- Angular $http无法发送内容类型头文件