【发布时间】:2019-02-20 04:46:47
【问题描述】:
我在将包含 Javascript 代码(例如 {{console.log('Somethings')}})的字符串作为 Twig 字符串变量传递时遇到问题。
树枝模板:
<div id="app">
<h1 class="main-heading heading--larger heading--left">{{ page_title }}</h1>
</div
带有 VueJS v2 的 JavaScript:
new Vue({
el: '#app',
})
如果我传递一个包含 Javascript 代码的字符串(例如 {% set page_title = '{{console.log('Somethings')}}' %}),我将看到浏览器打印
有些东西!
在控制台选项卡中。
我希望浏览器不要运行这个 JS 代码('console.log('Somethings')')。我该怎么办?
【问题讨论】:
-
不确定这将如何导致控制台打印
something,你没有在它周围添加任何<script>-tags? -
我确定控制台打印了Somethings!。我添加了脚本。我需要 VueJS 避免使用 page_title = '{{console.log('Somethings')}}' 编译
<h1 class="main-heading heading--larger heading--left">{{console.log('Somethings')}}</h1> -
更改分隔符并不能解决问题,因为用户可以输入相同的 VueJS 分隔符。假设我们将 VueJS 的分隔符更改为“${”和“}”。然后用户输入“${ console.log('something') }”
-
不可能在插值内运行语句 (
{{}})。 Vue 使用模板用于创建虚拟 dom 表示。
标签: javascript vue.js vuejs2 twig