首页 > 解决方案 > 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>

标签: javascriptangularjs

解决方案


推荐阅读