Vue.js
Filtres personnalisés
Recherche…
Syntaxe
-
Vue.filter(name, function(value){});
//De base -
Vue.filter(name, function(value, begin, end){});
// Basic avec les valeurs d'emballage -
Vue.filter(name, function(value, input){});
//Dynamique -
Vue.filter(name, { read: function(value){}, write: function(value){} });
// bidirectionnel
Paramètres
Paramètre | Détails |
---|---|
prénom | String - Nom de l'appelable désiré du filtre |
valeur | [Rappel] N'importe quelle valeur des données passant dans le filtre |
commencer | [Rappel] N'importe quelle valeur à venir avant les données transmises |
fin | [Rappel] N'importe quelle valeur à venir après les données transmises |
contribution | [Rappel] N'importe - entrée utilisateur liée à l'instance Vue pour des résultats dynamiques |
Filtres à deux voies
Avec un two-way filter
, nous sommes en mesure d'attribuer une opération de read
et d' write
pour un filter
unique qui modifie la valeur des mêmes données entre la view
et le model
.
//JS
Vue.filter('uppercase', {
//read : model -> view
read: function(value) {
return value.toUpperCase();
},
//write : view -> model
write: function(value) {
return value.toLowerCase();
}
});
/*
* Base value of data: 'example string'
*
* In the view : 'EXAMPLE STRING'
* In the model : 'example string'
*/
De base
Les filtres personnalisés dans Vue.js
peuvent être créés facilement dans un seul appel de fonction à Vue.filter
.
//JS
Vue.filter('reverse', function(value) {
return value.split('').reverse().join('');
});
//HTML
<span>{{ msg | reverse }}</span> //'This is fun!' => '!nuf si sihT'
Il est ./filters
de stocker tous les filtres personnalisés dans des fichiers distincts, par exemple sous ./filters
car il est alors facile de réutiliser votre code dans votre prochaine application. Si vous allez de cette façon, vous devez remplacer la partie JS :
//JS
Vue.filter('reverse', require('./filters/reverse'));
Vous pouvez également définir vos propres wrappers de begin
et de end
.
//JS
Vue.filter('wrap', function(value, begin, end) {
return begin + value + end;
});
//HTML
<span>{{ msg | wrap 'The' 'fox' }}</span> //'quick brown' => 'The quick brown fox'
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow