String παρεμβολή για δυναμική γενιά αντικείμενο φίλτρο σε AngularJS 1.7.5

ψήφοι
1

Είμαι σήμερα αναβάθμιση από AngularJS 1.4.7 έως 1.7.5. Προηγουμένως, χρησιμοποιήσαμε ένα περίεργο hack για να δημιουργήσετε ένα αντικείμενο φίλτρο μέσα της οδηγίας.

<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>
Δημοσιεύθηκε 07/11/2018 στις 23:40
πηγή χρήστη
Σε άλλες γλώσσες...                            

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