是否建议在内联脚本中将一些不敏感的数据传递给vue?
的HTML
<script>
var foo = <?php echo $foo ?>
</script>
Vue.js
new Vue({
data: {
foo: foo
}
});
这可能有点自以为是,但我会避免在应用程序中使用像这样的全局变量。取而代之的是,我将使用HTML5data-
属性,并在其中存储前端所需的有用数据。
您可以执行以下操作:
<body data-my-thing='{"foo": "bar", "baz": true}'>
上面的示例使用JSON,我通常要做的是json_encode
在控制器或视图编辑器中使用,并像这样回显字符串(因为我们在这里使用Balde,JSON会自动转义):
<body data-my-thing='{{ $myJson }}'>
如果您只使用普通的PHP,则应像这样转义JSON:
<body data-my-thing='<?=htmlspecialchars($myJson) ?>'>
当然,您不需要JSON,如果更合适,则可以在其中存储纯字符串或数字。这取决于您的应用程序的需求。
要从data属性中获取值,您只需使用以下JavaScript:
document.body.getAttribute('data-my-thing');
而且,如果您使用了JSON,请不要忘记对其进行解码!
JSON.parse(document.body.getAttribute('data-my-thing'));
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句