当我们在django web框架中,使用vue的时候,会遇到语法冲突.

因为vue使用{{}},而django也使用{{}},因此会冲突.

解决办法1:

在django1.5以后,加入了标签:

{% verbatim myblock %} {% endverbatim myblock %}

被此标签包裹的代码将不会被Django的模板引擎渲染。

因此,我们可以把带有{{ }} 的Vue代码放在 {% verbatim myblock %}标签中间,例如:

<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语法的冲突问题完美解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com