Suche…


Syntax

  • Vue.filter(name, function(value){}); //Basic
  • Vue.filter(name, function(value, begin, end){}); // Basic mit Umbruchwerten
  • Vue.filter(name, function(value, input){}); // Dynamisch
  • Vue.filter(name, { read: function(value){}, write: function(value){} }); // Zweiwege

Parameter

Parameter Einzelheiten
Name String - gewünschter aufrufbarer Name des Filters
Wert [Callback] Any - Wert der Daten, die in den Filter gelangen
Start [Rückruf] Beliebiger Wert, der vor den übergebenen Daten liegt
Ende [Rückruf] Beliebiger Wert, der nach den übergebenen Daten kommt
Eingang [Rückruf] Alle - Benutzereingaben, die für dynamische Ergebnisse an die Vue-Instanz gebunden sind

Zweiwege-Filter

Mit einem two-way filter können wir einem einzelnen filter einen read und write zuweisen, der den Wert derselben Daten zwischen view und model ändert.

//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'
 */

Basic

Benutzerdefinierte Filter in Vue.js können einfach in einem einzigen Funktionsaufruf von Vue.filter .

//JS
Vue.filter('reverse', function(value) {
    return value.split('').reverse().join('');
});

//HTML
<span>{{ msg | reverse }}</span> //'This is fun!' => '!nuf si sihT'

Es ist ./filters , alle benutzerdefinierten Filter in separaten Dateien zu speichern, z. Wenn Sie diesen Weg gehen, müssen Sie das JS-Teil ersetzen :

//JS
Vue.filter('reverse', require('./filters/reverse'));

Sie können auch Ihre eigenen begin und end Wrapper definieren.

//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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow