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