2016-11-18 6 views
5

hey Ich bin ziemlich neu zu Vue.js und ich versuche zu erreichen, was scheint eine einfache Sache zu sein, aber ich habe Probleme. Im Wesentlichen brauche ich es jedes Mal, wenn eine Komponente in das DOM geladen wird, eine der Methoden zu feuern. Hier ist mein aktueller Code, ich habe versucht, v-on: load zu verwenden, aber es scheint nicht zu funktionieren.Komponente Methode auf laden vue.js

Vue.component('graph', { 
 
    props:['graphId','graphData'], 
 
    template: '<canvas v-on:load="{{populateGraph()}}"></canvas>', 
 
    methods: { 
 
     initGraph: function() { 
 
      var settlementBalanceBarChart = new Chart(this.graphId, { 
 
       type: "bar", 
 
       data: settlementBalanceBarData, 
 
       options: settlementBalanceBarOptions 
 
      }); 
 
     }, 
 
     //this is the function I would like to run 
 
     populateGraph: function() { 
 
      alert('{{graphId}}'); 
 
     } 
 
    } 
 

 
}); 
 

 
var vm = new Vue({ 
 
    el: "#app", 
 
    mounted: function(){ 
 

 
    } 
 

 
});

Die gleichen Code-Funktionen in Ordnung, wenn ich die v-on: Klicken Sie Ereignis

Antwort

7

Es gibt instance lifecycle hooks, die Sie dafür verwenden können. Zum Beispiel:

Vue.component('graph', { 
    props:['graphId','graphData'], 
    template: '<canvas></canvas>', 
    created: function() { 
     alert('{{graphId}}'); 
    }, 
    methods: {} 
}); 
+0

Super, das hat funktioniert :) Danke! –

Verwandte Themen