Строковая интерполяция для генерации объекта динамического фильтра в AngularJS 1.7.5 - PullRequest
0 голосов
/ 08 ноября 2018

Я сейчас обновляюсь с 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...