Vue学习笔记3:模版语法

模版语法

插值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>插值</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <style>
        #id_red {
            color: red;
            font-size: 50px;
        }

        .clz_blue {
            color: blue;
            font-size: 50px;
        }
    </style>
</head>
<body>
<div id="app">
    <!-- "Mustache"语法文本插值 -->
    <p>Message: {{msg}}</p>
    <!-- 使用v-once指令插值 数值不会更新 -->
    <p v-once>v-once Message: {{msg}}</p>

    <!-- 使用v-html指令插值 解释为html代码 -->
    <p>Using v-html directive: <span v-html="rawHtml"></span></p>
    <!-- 使用双大括号插值 解释为普通文本 -->
    <p>Using mustaches: {{ rawHtml }}</p>

    <!-- 使用v-bind指令 响应式的更新HTML attribute -->
    <div v-bind:id="id_color">v-bind:id</div>
    <div v-bind:class="clz_color">v-bind:class</div>
    <!-- 对于布尔属性 如果值为null、undefined或false则不会渲染disabled属性 -->
    <button v-bind:disabled="isButtonDisabled">Button</button>

    <!-- 双大括号支持JS表达式 -->
    <p>{{ number + 1 }}</p>
    <!-- 使用三元表达式 不能使用if else -->
    <p>{{ 1 === 1 ? 'YES' : 'NO' }}</p>
    <p>{{ message.split('').reverse().join('') }}</p>
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            msg: "hi vue",
            rawHtml: '<span style="color:red">this is should be red</span>',
            id_color: 'id_red',
            clz_color: 'clz_blue',
            isButtonDisabled: false,
            number: 10,
            ok: 1,
            message: "vue"
        }
    });

    setTimeout(function () {
        vm.msg = "oh no vue";
    }, 3000)
</script>
</body>
</html>

在这里插入图片描述

指令与缩写

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>指令与缩写</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id="app">
    <!-- 使用v-if指令来插入或移除p元素 -->
    <p v-if="seen">现在你看到我了</p>

    <!-- v-bind与v-on 能使用":"接收参数  -->
    <!-- :href 表示将该元素的href attribute与url的值绑定 -->
    <a v-bind:href="url">模版语法</a>
    <!-- v-bind缩写 可以直接省略前面的v-bind -->
    <a :href="url">模版语法</a>

    <!-- v-on指令 用于监听DOM事件 -->
    <!-- v-on:click 表示监听该元素的click事件 -->
    <div v-on:click="click1">
        <!-- 修饰符 (modifier) 是以半角句号 . 指明的特殊后缀 -->
        <!-- .stop 表示阻止点击事件继续传递(阻止传递到click1) -->
        <!-- v-on缩写 使用@代替v-on-->
        <div @click.stop="click2">
            点击显示/隐藏
        </div>
    </div>
</div>
<script>
    var vm = new Vue({
        el: "#app",
        data: {
            seen: false,
            url: "https://cn.vuejs.org/v2/guide/syntax.html#%E6%8C%87%E4%BB%A4"
        },
        methods: {
            click1: function () {
                alert("on click 1");
            },
            click2: function () {
                this.seen = !this.seen;
            }
        }
    });
</script>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值