Web

插值语法

2020-07-07  本文已影响0人  瑟闻风倾

(1) Mustache语法(双大括号语法)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <div>{{message}}</div>
    </div>
</body>
<script type="text/javascript" src="vue1026.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            message:'你好',
        }
    });
</script>
</html>

不常用指令(仅用于特殊场景)

(2) v-once

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <div v-once>{{message}}</div>
    </div>
</body>
<script type="text/javascript" src="vue1026.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            message:'你好',
        }
    });
</script>
</html>

v-once:元素和组件仅渲染一次,不会随着数据的变化而变化。

(3) v-text 和 v-html

备注: v-text 和 v-html 都可解决差值表达式闪值问题。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <div>{{tip}},来自课程</div>
        <div v-text="tip">,来自课程</div>
    </div>
</body>
<script type="text/javascript" src="vue1026.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            tip:'为了展示差值表达式闪烁问题暂时将vue.js脚本导入页面下方(即不在head位置处导入)'
        }
    });
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <div>{{url}}</div>
        <div v-html="url"></div>
    </div>
</body>
<script type="text/javascript" src="vue1026.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            url:'<a href="http://www.baidu.com">百度一下</a>',
        }
    });
</script>
</html>
v-html.png

(4) v-pre(不希望解析,原封不动显示)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Document</title>
</head>
<body>
    <div id="app">
        <div>{{message}}</div>
        <div v-pre>{{message}}</div>
    </div>
</body>
<script type="text/javascript" src="vue1026.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            message:'你好',
        }
    });
</script>
</html>

(5) v-cloak

v-cloak:vue解析前,属性为v-cloak的div不显示;vue解析后,div没有了v-cloak属性,此时div显示。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Document</title>
    <style type="text/css">
        [v-cloak]{
            display: none;
        }
    </style>
</head>
<body>
    <div id="app">
        <span v-cloak>{{name}}</span>
    </div>
</body>
<script type="text/javascript" src="vue1026.js"></script>
<script type="text/javascript">
    var vm = new Vue({
        el:"#app",
        data:{
            name:"利用v-cloak和css规则[v-cloak]{display: none}也能解决差值表达式闪值问题"
        }
    });
</script>
</html>

备注:利用v-cloak和css规则[v-cloak]{display: none}也能解决差值表达式闪值问题。

上一篇 下一篇

猜你喜欢

热点阅读