- 使用一些 Vue 组件构建 Laravel 应用程序
- 想要使用 props 将 PHP 数组传递到 Vue 组件
下面是此类 PHP 数组的示例:
["Foo" => 100, "Bar" => 50]
伟大的。这是我将它们传递到图表组件的尝试:
<Chart points="{!! json_encode($points) !!}"></Chart>
这看起来不错,但是 $points
数组中的字符串(Foo 和 Bar)在使用 json_encode()
时用 “(双引号)封装。这意味着每当第一个字符串出现在数组,浏览器认为 ” 是为了关闭 points
属性。
这是您在浏览器中看到的内容:
<Chart points="{">Foo":100,"Bar":50}"</Chart>
我该怎么做?我已经为此苦苦挣扎了几个小时,我无法解决这个问题。
- 不能使用 “(双引号),因为浏览器将其解释为属性的结束引号并弄乱了 HTML
- 不能使用 ‘(单引号),因为那是无效的 JSON(并且 json_encode 不支持它)
原文由 weakdan 发布,翻译遵循 CC BY-SA 4.0 许可协议
只需使用单引号。