如何将Laravel数据(json)传递给Vue组件

时间:2017-07-19 21:50:10

标签: json laravel parsing vue.js

我想将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.

你能告诉我我做错了吗?

解决 我今天再试一次,由于某种原因它起作用了。谢谢你的时间!

2 个答案:

答案 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所说的话。)