zoukankan      html  css  js  c++  java
  • Vue mustache语法&常用指令

    mustache

    内容渲染

    使用mustache语法{{变量}}进行渲染操作,它将会从Vue实例中查找这个变量。

    image-20201120144245653

    <body>
        <div id="app">
            <p>{{ msg }}</p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    msg: "HELLO,WORLD",
                }
            })
        </script>
    </body>
    

    四则操作

    mustache语法在渲染时支持四则操作,如下所示:

    image-20201120144455173

    <body>
        <div id="app">
            <p>{{ num1 + num2 }}</p>
            <p>{{ num1 * num2 }}</p>
            <p>{{ num1 - num2 }}</p>
            <p>{{ num1 / num2 }}</p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    num1: 200,
                    num2: 100,
                }
            })
        </script>
    </body
    

    Vue指令

    v-once

    当标签中添加该属性指令时,标签渲染的内容将是固定的不会随着数据层数据的动态改变而进行改变。

    指令:v-once

    <body>
        <div id="app">
            <p>{{ num1 + num2 }}</p>
            <p v-once>{{ num1 + num2 }}</p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    num1: 200,
                    num2: 100,
                }
            })
        </script>
    </body>
    

    v-html

    当标签中添加该属性指令时,该标签渲染的内容将会以HTML代码呈现。

    注意,该属性指令应该通过等号绑定一个数据

    image-20201120145406980

    <body>
        <div id="app">
            <p v-html="msg"></p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    msg:"<a href='http://www.google.com/'>谷歌</a>"
                }
            })
        </script>
    </body>
    

    v-text

    这个属性指令和直接使用{{}}渲染内容无太大差异,如果渲染内容是一个HTML标签,其本质原理都是将<替换成&lt;,将>替换成&gt;

    这会预防XSS攻击。

    image-20201120145517824

    <body>
        <div id="app">
            <p v-text="msg"></p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    msg:"<a href='http://www.google.com/'>谷歌</a>"
                }
            })
        </script>
    </body>
    

    v-show

    该属性指令为false时将该标签将添加display:none的样式。

    image-20201120145712258

    <body>
        <div id="app">
            <p v-show="false">{{msg}}</p>
            <p v-show="true">{{msg}}</p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    msg:"HELLO,WORLD"
                }
            })
        </script>
    </body>
    

    v-pre

    该属性指令会将标签中的内容按照原本格式进行呈现,类似于<pre>标签。

    image-20201120145812447

    <body>
        <div id="app">
            <p v-pre>{{msg}}</p>
            <p>{{msg}}</p>
        </div>
        <script src="./vue.js"></script>
        <script>
            const app = new Vue({
                el: "#app",
                data: {
                    msg:"HELLO,WORLD"
                }
            })
        </script>
    </body>
    

    v-clock

    在网络情况较差的环境下,可能会出现模板渲染不及时的问题。

    使用v-cloak属性指令可挡住{{}}模板语法,使用户获得更好的体验。

    尝试将以下代码中的setTimeout去除,以查看效果。

    注意:需要手动添加样式

    <style>
        [v-cloak]{
            display: none;
        }
    </style>
    
    <body>
    <div id="app">
        <p v-cloak>{{msg}}</p>
    </div>
    <script src="./vue.js"></script>
    <script>
        setTimeout(() => {
            const app = new Vue({
                el: "#app",
                data: {
                    msg: "HELLO,WORLD"
                }
            })
        }, 3000)
    </script>
    </body>
  • 相关阅读:
    rs
    stm32f767 usoc3
    stm32f767 RTT 日志
    stm32f767 标准库 工程模板
    stm32f767 HAL 工程模板
    docker tab 补全 linux tab 补全
    docker anconda 依赖 下载 不了
    docker run 常用 指令
    linux scp 命令
    Dockerfile 常用参数说明
  • 原文地址:https://www.cnblogs.com/plyc/p/14812546.html
Copyright © 2011-2022 走看看