当我们在django web框架中,使用vue的时候,会遇到语法冲突.
因为vue使用{{}},而django也使用{{}},因此会冲突.
解决办法1:
在django1.5以后,加入了标签:
{% verbatim myblock %} {% endverbatim myblock %}
被此标签包裹的代码将不会被Django的模板引擎渲染。
因此,我们可以把带有{{ }} 的Vue代码放在 {% verbatim myblock %}标签中间(注:标签中间可放置完整html标签,例如body,div等),例如:
<div id="app1">
{% verbatim myblock %}
{{ message1 }}
{% endverbatim myblock %}
</div>
解决办法2:
修改Vue的{{ }} 为{[ ]}
<script>Vue.config.delimiters = ["{[", "]}"]</script>
使用的时候:
<div id="app1">
{[ message1 ]}
</div>
ps:vue之django 和vue语法冲突处理
修改vue.js的默认的绑定符号
vue2.0已经废弃这种写法:
Vue.config.delimiter=['[[',']]']
正确姿势:
var vm = new Vue({
delimiters:['[[', ']]'],
el:'#box',
data:{
arr:['apple','pear','grape']
},
methods:{
add:function () {
this.arr.push('tomato')
}
}
})
总结
以上所述是Django与Vue语法的冲突问题完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言