2017-08-01 23 views
0

是否有將數據從創建的函數傳遞到VueJS中的已安裝的函數的方法。我建立一個VueJS應用和我創建的函數看起來像這樣,VueJS - 將數據從已創建的函數傳遞到已安裝的函數()

created: function(){ 
    $.getJSON({ 
    url: 'static/timeline.json', 
    success:function(json) { 
     return json; 
    } 
    }) 
} 

我想json的值傳遞到vis.DataSet()我安裝的功能,它看起來像這樣的,

var items = {}; 
mounted(){ 
container = document.getElementById('mynetwork'); 
items = new vis.DataSet(json); 
} 

那麼,有沒有一種方法可以將創建的數據傳遞給mounted()函數?

+1

通過'getJSON'是異步檢索數據。數據在「掛載」時發生的可能性極小。相反,你應該把你已經掛載的代碼移動到你的getJSON成功處理器中。 – Bert

回答

-1

理論上你應該。但是用你的代碼,你有一個問題:異步數據。快速解決方法應該是將vis.DataSet部分移到回調中。如果由於某種原因,你不能做到這一點,那麼你就需要定義一個watcher,從中你會喂vis.DataSet,也許是這樣的:

data: { 
    data: null 
}, 
watch: { 
    data: function (value){ 
     vis.DataSet(value || {}) 
    } 
}, 
created: function(){ 
    var self = this; 
    $.getJSON({ 
    url: 'static/timeline.json', 
    success:function(json) { 
     return self.data = json; 
    } 
    }) 
}