Dcat Admin 向视图文件传递JS数组的解决办法

问题:通过view('xxx',compact('data'));传递一个数组,js不能直接取来用。

解决:1.首先json_encode($data); 转成字符串;

  1. let data = '{{$data}}'; 赋值给js一个变量;
  2. 若直接JSON.parse(‘aa’) 转成对象是不行的。原因是因为双引号 "" 被转义成了 "
  3. 需要用正则替换掉
    data= data.replace(/"/g,'"');
    data = JSON.parse(data);
    console.log(data);
  4. 最后data直接当成数组或者对象用即可
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

这个回答太sb了,最近发现新的助手函数了,js中这样使用

var configs = {!! admin_javascript_json($configs) !!};

控制器中可以这样使用

Dcat\Admin\Support\JavaScript::format($data);
1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!