如何将数据(json)传递给vue实例

xAo*_*Aoc 6 javascript arrays json laravel vue.js

我有一个简单的Vue实例,并希望在没有HTTP请求的情况下将json从后端传递到vue,因为它始终是相同的.

我已尝试用道具做这个,但它不起作用...在DOM中它看起来像<div id="my-component" prices="[object Object]"> Vue调试工具将我的图像显示为一个空字符串,并在控制台中undefined

<div id="my-component" :prices="{{ $prices }}">
</div>

<script>
        new Vue({
            el: '#my-component',
            props: ['prices'],
            mounted: function() {
               console.log(this.image);
           },
       });
</script> 
Run Code Online (Sandbox Code Playgroud)

其中$pricesjson编码数组.

Guy*_*uyC 12

您的解决方案几乎就在那里,但您不需要支柱,而是使用数据属性并通过方法分配JSON:

new Vue({
    el: '#app',
    data: {
        json: {},
    },
    methods: {
    	setJson (payload) {
        	this.json = payload
        },
    }
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app" :json="setJson({ foo: 'bar' })">
    <pre>{{ json }}</pre>
</div>
Run Code Online (Sandbox Code Playgroud)

您只需将Laravel数据分配给setJson方法有效负载,即

:json="setJson({{ $prices }})
Run Code Online (Sandbox Code Playgroud)