将对象数组从控制器分配到Laravel中刀片的JS

lf5gs5x2  于 2022-11-26  发布在  其他
关注(0)|答案(2)|浏览(93)

我有一个对象数组,如下所示Array ( [0] => stdClass Object ( [id] => 14 [content] => সংবাদ [start] => 2022-10-17 00:00:00 ) [1] => stdClass Object ( [id] => 15 [content] => সংবাদ [start] => 2022-10-17 00:00:00 ) [2] => stdClass Object ( [id] => 11 [content] => সংবাদ [start] => 2022-09-28 00:00:00 ) [3] => stdClass Object ( [id] => 12 [content] => সংবাদ [start] => 2022-09-28 00:00:00 ) [4] => stdClass Object ( [id] => 1 [content] => সংবাদ [start] => 2022-09-27 00:00:00 ) )
我已经从controller传递了它,并希望在blade文件的脚本中分配它。

var items = new vis.DataSet([
    {id: 1, content: 'item 1', start: '2014-04-20'},
    {id: 2, content: 'item 2', start: '2014-04-14'},
    {id: 3, content: 'item 3', start: '2014-04-18'},
  ]);

我试过了。

var items = new vis.DataSet({{$timeline}});

但它是通过一个错误

htmlspecialchars(): Argument #1 ($string) must be of type string, array given

我错过了什么。请帮助。谢谢

z6psavjg

z6psavjg1#

根据您的错误用途:{!! $timeline !!}这将强制Blade不转义传递的值。可能值得在JS中对时间线进行编码和解码。

vaj7vani

vaj7vani2#

您只需要在回显它之前对它进行json编码。

var items = new vis.DataSet(@json($timeline));

var items = new vis.DataSet({!! json_encode($timeline) !!});

相关问题