Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将阵列从Laravel刀片传递到Laravel 6/Vue 2.6中的Vue组件*_Php_Arrays_Laravel_Vue.js - Fatal编程技术网

Php 如何将阵列从Laravel刀片传递到Laravel 6/Vue 2.6中的Vue组件*

Php 如何将阵列从Laravel刀片传递到Laravel 6/Vue 2.6中的Vue组件*,php,arrays,laravel,vue.js,Php,Arrays,Laravel,Vue.js,我正在将一个对象从控制器传递到blade.php.file。从那里,我使用对象表示法从我的对象中获取变量,这给我留下了一个数组。然后,我尝试将该数据数组从blade.php文件传递到vue组件。我想传递整个数组,而不是它的一个索引。现在,当我尝试传递数组时,我得到一个错误htmlspecialchars()期望参数1是字符串,数组给定的,这是有意义的,因为我传递的是一个数组(这是我想要的)。如何成功地将一组数据从laravel blade传递到VUE blade.php文件 <div id

我正在将一个对象从控制器传递到blade.php.file。从那里,我使用对象表示法从我的对象中获取变量,这给我留下了一个数组。然后,我尝试将该数据数组从blade.php文件传递到vue组件。我想传递整个数组,而不是它的一个索引。现在,当我尝试传递数组时,我得到一个错误
htmlspecialchars()期望参数1是字符串,数组给定的
,这是有意义的,因为我传递的是一个数组(这是我想要的)。如何成功地将一组数据从laravel blade传递到VUE

blade.php文件

<div id="app">
   <draggable
       draggable-table="{{ $table->vars }}">
    </draggable>
</div>
app.js

const app = new Vue({
  el: '#app'
});
那么现在如何将数据从blade传递到VUE


谢谢。

您必须在道具中添加
,代码下直播

<div id="app">
   <draggable
       :draggable-table="{{ json_encode($table->vars) }}">
    </draggable>
</div>

您可以将其作为JSON对象发送,然后在Vue中或作为道具接受时对其进行解析

<div id="app">
   <draggable
       :draggable-table=JSON.parse({{ json_encode($table) }})>
    </draggable>
</div>


如果在Vue中使用API调用,为什么需要将数据从刀片服务器传递到Vue?您已经可以使用数据。

应该可以使用。@Remul我也尝试了您的解决方案,但在我的VUE浏览器控制台中,只有根组件显示,不包含任何数据。您可以共享app.js或创建VUE实例的位置吗please@TEFO只是在我的问题中发布了它,所以您没有在根实例中本地注册它。您是否在全球范围内注册了此组件?我试图实现您的解决方案,但它对我无效。我的数据没有传递到我的组件。我编辑了我的问题,包括细节和一张照片。谢谢。我认为有一个组件加载问题,所以请您检查一下为什么组件没有加载。您的意思是什么?您的组件没有加载。所以使用axios我可以传递数据,但它是以html字符串的形式传递的,比如:“……这里的表数据……”我在刀片文件中使用json_编码。我想传递数组,而不是HTML字符串。我如何做到这一点?我恢复了我的组件是简单的,并删除了axios。这又一次看起来像是我问题的原始部分。因此,在我的blade文件中,我使用上面发布的代码片段尝试将数据从blade.php传递到VUE组件,但在我的控制台中,我收到以下错误:[VUE warn]:呈现错误:“SyntaxError:JSON中的意外标记u位于位置0”(在中找到),语法正确吗?服务器返回什么?美元表存在吗?当您只回显{{json_encode($table)}时会得到什么?我在一个刀片文件中,所以我必须@dd()$table,但当我回显($table)时,我会返回ComponentView{1538▼ +变量:数组:38[▶] +parent:null+children:[]-rendered:true}如果我添加json_编码,那么当我添加($table)时,它返回false。在您的视图中只有{{json_编码($table)}。您得到了什么?您有laravel/望远镜吗?因此我得到了一个包含HTML的长字符串。HTML是我试图传递给VUE的表,但它是以HTML字符串的形式传递的。“”
<div id="app">
   <draggable
       :draggable-table="{{ json_encode($table->vars) }}">
    </draggable>
</div>
<div id="app">
   <draggable
       :draggable-table=JSON.parse({{ json_encode($table) }})>
    </draggable>
</div>