String-Interpolation für dynamische Filterobjekterzeugung in AngularJS 1.7.5

stimmen
1

Ich bin zur Zeit von AngularJS 1.4.7 bis 1.7.5 zu aktualisieren. Früher haben wir einen seltsamen Hack ein Filterobjekt innerhalb einer Richtlinie zu erstellen.

<directive field='key1=value1, key2=value2'></directive>

Dieses Attribut (field) wird dann in der Winkelschablone für die Richtlinie verwendet

<template attr=item in list | filter: { {{field}} }></template>

Zuvor in 1.4.7, würde dies die Zeichenfolge in fieldund dann in die zweite Vorlage ersetzt, in einem geeigneten Objekt resultierende in einen Winkelfilter geleitet:

<template attr=item in list | filter: { key1=value1, key2=value2 }></template>

Doch in 1.7.5, das nicht mehr funktioniert und jetzt führt zu einem Syntaxfehler. Gibt es eine neue Art und Weise, dies zu tun? Gibt es einen besseren Weg, diese Art von Filtergeneration zu tun?

Für den Fall, dass wir nur auf einem einzigen Schlüssel / Wert - Paar Filterung, die folgende tut Arbeit:

<directive field='key1'></directive>
<template attr=item in list | filter: { [field]:value }></template>

das gibt uns

<template attr=item in list | filter: { key1:value }></template>
Veröffentlicht am 07/11/2018 um 23:40
quelle vom benutzer
In anderen Sprachen...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more