javascript - AngularJS 1.7.5 中动态过滤器对象生成的字符串插值
问题描述
我目前正在从 AngularJS 1.4.7 升级到 1.7.5。以前,我们使用了一种奇怪的技巧来在指令内创建一个过滤器对象。
<directive field="'key1=value1, key2=value2'"></directive>
然后在指令的角度模板中使用此属性(字段)
<template attr="item in list | filter: { {{field}} }"></template>
以前在 1.4.7 中,这会将字符串输入field
,然后将其替换到第二个模板中,从而将适当的对象传递给角度过滤器:
<template attr="item in list | filter: { key1=value1, key2=value2 }"></template>
但是,在 1.7.5 中,这不再有效,现在会导致语法错误。有没有新的方法可以做到这一点?有没有更好的方法来生成这种过滤器?
对于我们只过滤单个键/值对的情况,以下方法确实有效:
<directive field="'key1'"></directive>
<template attr="item in list | filter: { [field]:value }"></template>
这给了我们
<template attr="item in list | filter: { key1:value }"></template>
解决方案
推荐阅读
- perl - 按下控制 c 时停止 bsub 作业的 Perl 脚本
- matlab - 两个变量的比率
- xamarin - Xamarin 表单:iOS 应用程序被应用商店审核团队拒绝,并出现缺少 Info.plist 键的问题
- linux - 无法在 Amazon Linux AMI 中解压缩上传的文件
- laravel - 如何在 Laravel Dusk 测试中关闭控制台打印?
- spring - 使用 CompositeItemWriter 编写器或分类方法不会被调用
- mysql - 两列之间的时间差 - mysql
- php - 未定义的索引导师,第 3 和第 4 行的 stu_name
- python - 在文件的不同位置写入:Python
- postgresql - PostgreSQL - 如何在标记为 FOR EACH STATEMENT 的触发过程中获取新记录?