interpolazione stringa per la generazione oggetto filtro dinamico in AngularJS 1.7.5

voti
1

Attualmente sto aggiornamento da AngularJS 1.4.7 a 1.7.5. In precedenza, abbiamo utilizzato un hack strano per creare un oggetto filtro all'interno di una direttiva.

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

Questo attributo (campo) viene quindi utilizzato nel modello angolare per la direttiva

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

Precedentemente in 1.4.7, questo richiederebbe la stringa fielde poi sostituirla nel secondo modello, risultando in un oggetto proprio passato in un filtro angolare:

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

Tuttavia, in 1.7.5, questo non funziona più e ora si traduce in un errore di sintassi. C'è un nuovo modo per fare questo? C'è un modo migliore per fare questo tipo di generazione del filtro?

Per il caso in cui siamo solo il filtraggio su una singola coppia chiave / valore, il seguente fa il lavoro:

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

che ci dà

<template attr=item in list | filter: { key1:value }></template>
È pubblicato 07/11/2018 alle 23:40
fonte dall'utente
In altre lingue...                            


1 risposte

interpolazione stringa per la generazione oggetto filtro dinamico in AngularJS 1.7.5

voti
1

Attualmente sto aggiornamento da AngularJS 1.4.7 a 1.7.5. In precedenza, abbiamo utilizzato un hack strano per creare un oggetto filtro all'interno di una direttiva.

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

Questo attributo (campo) viene quindi utilizzato nel modello angolare per la direttiva

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

Precedentemente in 1.4.7, questo richiederebbe la stringa fielde poi sostituirla nel secondo modello, risultando in un oggetto proprio passato in un filtro angolare:

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

Tuttavia, in 1.7.5, questo non funziona più e ora si traduce in un errore di sintassi. C'è un nuovo modo per fare questo? C'è un modo migliore per fare questo tipo di generazione del filtro?

Per il caso in cui siamo solo il filtraggio su una singola coppia chiave / valore, il seguente fa il lavoro:

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

che ci dà

<template attr="item in list | filter: { key1:value }"></template>
Risposto il 07/11/2018 a 23:40
fonte dall'utente

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