2017-07-19 113 views
0

我想將Laravel對象傳遞給我的Vue組件。在Vue中,我想將數據解析爲JSON對象,並且我已經嘗試過this solution如何將Laravel數據(json)傳遞給Vue組件

在我的刀我有這樣的:

<creator :object="parseData({{ $object->toJson() }})"></creator> 

而在我的部分我有這樣的:

data() { 
    return { 
     object: null 
    } 
}, 
methods: { 
    parseData(data) { 
     this.object= JSON.parse(data); 
    } 
} 

我也試過

props: ['object'] 

,而不是數據()

這給了我以下翼錯誤:

[Vue warn]: Property or method "parseData" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option.

你能告訴我什麼,我做錯了什麼?

求助 我今天又試了一遍,因爲某種原因,它的工作。謝謝你的時間傢伙!

回答

0

您的parseData方法需要在JS的methods部分中定義。

嘗試:

data() { 
    return { 
     ball: null 
    } 
}, 

methods: { 
    parseData(data) { 
     this.object= JSON.parse(data); 
    } 
} 

編輯:做什麼,@Piotr說:)

+0

謝謝你提到,我已經在我的代碼中有這個,只是忘了在stackoverflow中寫入它。所以錯誤仍然是相同的 – mmanuel

1

第一:您還沒有添加屬性object到您的組件。要解決此問題,您必須添加此行

props: ['object'], 

就在您的data功能之前。

第二個:你必須定義parseData函數methods你的組件的一部分。修復它如下:

methods: { 
    parseData() { 
     //your function logic 
    } 
} 

Vue需要定義方法,觀察者,計算屬性在適當的部分。

現在你的代碼是競爭的。

+0

哦,我忘了寫在stackoverflow中的方法部分,但我已經在我的代碼中正確。無論哪種方式,我嘗試道具:['object']或data(){return {object:null}}我得到了同樣的錯誤 – mmanuel