Django中使用Vue语法冲突解决

1、方案verbatim标签

  1-1、django1.5以后,加入了verbatim标签

1
2
3
4
5
{% verbatim vueblock %}
  
...
  
{% endverbatim vueblock %}

  注:vueblock 设置的标签别名,可以很好的分别标签使用

  1-2、verbatim标签使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue</title>
{#    <script src="/static/js/vue.js"></script>#}
    <script src="https://cdn.jsdelivr.net/npm/vue@2.7.10/dist/vue.js"></script>
</head>
<body>
 
使用verbatim标签将vue语法包裹使用
{% verbatim vueblock %}
    <div id="app">
        <p>{{ name }}</p>
    </div>
{% endverbatim vueblock %}
 
 
</body>
<script>
    new Vue({
        el: "#app",
        data: {
            name: "django使用Vue语法解决冲突方法"
        }
    })
</script>
</html>

   注:使用verbatim标签后里面使用django模板语法后端定义的变量传递参数会失效不能直接使用,需要在verbatim标签外面使用

2、方案2示例

  说明:在vue里面添加delimiters: ['[[', ']]']

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Vue</title>
{#    <script src="/static/js/vue.js"></script>#}
    <script src="https://cdn.jsdelivr.net/npm/vue@2.7.10/dist/vue.js"></script>
</head>
<body>
 
 
<div id="app">
    {# 使用[[vue变量或其它语法]] #}
    <p>[[ name ]]</p>
    <button @click="handleHide">隐藏</button>
    <p v-if="hide">点击隐藏按钮后数据会消失</p>
</div>
 
 
</body>
<script>
    new Vue({
        el: "#app",
        {#添加delimiters: ['[[', ']]']#}
        delimiters: ['[[', ']]'],
        data: {
            name: "Vue语法中添加delimiters解决冲突方法",
            hide: true
        },
        methods:{
            {#点击隐藏按钮数据隐藏消失#}
            handleHide(){
                this.hide =! this.hide
            }
        }
    })
</script>
</html>

 

posted @   点点滴滴的努力  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示