我想将Laravel对象传递给我的Vue组件。在Vue中,我想将数据解析为JSON对象,我已经尝试过this solution。
在我的刀片中,我有这个:
<creator :object="parseData({{ $object->toJson() }})"></creator>
在我的组件中,我有这个:
data() {
return {
object: null
}
},
methods: {
parseData(data) {
this.object= JSON.parse(data);
}
}
我也试过
props: ['object']
而不是data()
这给了我以下错误:
[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 :(得分:1)
首先:您没有将属性object
添加到组件中。要解决此问题,您必须添加此行
props: ['object'],
就在data
功能之前。
第二:您必须在组件的parseData
部分中定义methods
功能。修复如下:
methods: {
parseData () {
//your function logic
}
}
Vue需要在适当的部分内定义方法,观察者,计算属性。
现在您的代码正在竞争。
答案 1 :(得分:0)
您的parseData
方法需要在JS的methods
部分中定义。
尝试:
data() {
return {
ball: null
}
},
methods: {
parseData(data) {
this.object= JSON.parse(data);
}
}
编辑:并做@Piotr所说的话。)