这不是Blade,它只是一个包含我的vue组件的inline模板的普通php文件,所以我无法访问典型的laravel/blade {!!!!}简写。
这是一个旧的Codeigniter项目,我正在迁移到Vue作为前端,他们将数据带到包含在php文件中的普通js脚本的方式如下:
var a = <?= json_encode($frontLanguage) ?>;
console.log(a);
其输出:
我在Vue上做了类似的尝试
<vue-component a-string="<?='something string'?>" :language='<?=json_encode($frontLanguage)?>' inline-template>
字符串就像字符串一样工作,但是:language会破坏整个组件,尝试不使用json_encode,尝试使用双引号和单引号,使用和不使用冒号等,但都无济于事。
在对象中,我看到了html字符,所以这可能是原因?我不完全确定什么是正确的方式将这个对象作为Vue的 prop 使用?
先谢了
1条答案
按热度按时间cidc1ykv1#
在这里给予大家一个完整的答案:出现问题的原因是,你要么需要使用
"
,要么需要使用'
作为你的html属性,这就导致了一个问题,你可能在json输出中同时使用这两个属性。为了避免这种情况,您需要在json字符串中对html实体进行编码,例如