2017-01-20 3 views
0

Ich möchte eine Komponentenvorlage aktualisieren, wenn eine bestimmte Methode der Komponente aufgerufen wird. Genauso wie die Auflösungsfunktion oder die Vue.compile-Renderoption oder die V-HTML-Bindungsoption (aber dann, wenn die Vorlage tatsächlich kompiliert wird).Vue.js Update-Vorlage von der Komponentenmethode

Wie kann ich die Auflösungsfunktion von der Komponentenmethode aufrufen.

Ist das möglich und wie soll ich das mit Vue.js machen?

Antwort

0

Sie definieren, was in der Variablen data des Rückgabeobjekts der Komponente wie aktualisiert werden soll. Daten haben eine Funktion, wenn Sie eine Komponente (zB. Vue.extend)

Sie dann eine Methode definieren und this.whateverYouNamedYourVariable in dem Verfahren ändern, wie .

Und dann rufen Sie die Methode entweder in v-on oder programmgesteuert auf. Hier ist auch ein Link zur v-on-Ereignisbindung: Vue docs

Und ein kurzes Beispiel mit Webpack.

<template> 
    {{me}} 
    <button v-on:"changeMe">Click to change!</button> 
</template> 

<script> 
import 'vue' from 'vue'; 
export default { 
    name: 'VueEventBindDemo', 
    data: function() { 
     return { me: 'isMe'} 
    }, 
    methods: { 
     changeMe: function() { 
      this.me = "isYou"; 
     } 
    } 
} 
</script> 
+0

Thx für Ihre answere, aber wie rerender ich die ganze Vorlage wie die [kompilieren] (https://vuejs.org/v2/api/#Vue-compile) fn. So würde in Ihrem Beispiel der v-on-Handler auch von vue angewendet werden. – user1081577

+0

Lesen Sie über https://vuejs.org/v2/guide/components.html und sehen Sie, ob das hilft. –

+0

Ich habe das gemacht, aber Vue möchte wahrscheinlich, dass ich eine neue Komponente für jede Vorlage erstelle, anstatt sie in Vorlagen dynamisch zu laden. Was wahrscheinlich kommt nahe, was ich will, ist dies http://jsfiddle.net/chrislandeza/syewmx4e/ aber es ist in vue2 – user1081577

Verwandte Themen