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