Vue回顾文档--day3

主要复习了一些vue相关事件处理,还有数据双向绑定(多选框,复选框等)

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>title</title>
</head>

<body>

    <div id="app">
        <!-- 事件处理 -->
        <div class="count" style="border: 1px solid red; margin: 20px;padding: 20px;">
            通过按钮控制,写出一个简易的计数器
            count: {{count}}
            <button v-on:click="add">+1</button>
            <!-- <button v-on:click="count++">+1</button> 可以直接卸载内部(如果代码量少的话)-->
            <!-- <button @click="add">+1</button>这个是缩写形式 -->
            <button @click="subtraction">-1</button>
            <!--加入参数-->
            <button @click="addnum(2)">+2</button>
            <button @click="addnum(4)">+4</button>
            <br>

            <!-- 事件修饰符 -->
            vue提供的时间修饰符:
            <li>.stop</li>
            <li>.prevent</li>
            <li>.capture</li>
            <li>.self</li>
            <li>.once</li>
            <li>.passive</li>
            <!-- 阻止单击事件继续传播 -->
            <a v-on:click.stop="doThis"></a>

            <!-- 提交事件不再重载页面 -->
            <form v-on:submit.prevent="onSubmit"></form>

            <!-- 修饰符可以串联 -->
            <a v-on:click.stop.prevent="doThat"></a>

            <!-- 只有修饰符 -->
            <form v-on:submit.prevent></form>

            <!-- 添加事件监听器时使用事件捕获模式 -->
            <!-- 即内部元素触发的事件先在此处理,然后才交由内部元素进行处理 -->
            <div v-on:click.capture="doThis">...</div>

            <!-- 只当在 event.target 是当前元素自身时触发处理函数 -->
            <!-- 即事件不是从内部元素触发的 -->
            <div v-on:click.self="doThat">...</div>
            <!-- 点击事件将只会触发一次 -->
            <a v-on:click.once="doThis"></a>

            <!-- 案件修饰符 -->
            <input type="text" @keyup.enter="console.log(inputVal)" v-model="inputVal" placeholder="按回车得到输入的内容">
            Vue 提供了绝大多数常用的按键码的别名:
            <li>.enter</li>
            <li>.tab</li>
            <li>.delete (捕获“删除”和“退格”键)</li>
            <li>.esc</li>
            <li>.space</li>
            <li>.up</li>
            <li>.down</li>
            <li>.left</li>
            <li>.right</li>

        </div>

        <!-- v-model绑定选框 -->
        <div style="border: 1px solid red; margin: 20px;padding: 20px;">
            单个复选框绑定布尔值:
            <input type="checkbox" id="ckb" v-model="ckbVal">
            <label for="ckb"> {{ckbVal}} </label><br>
            绑定到data中的值是falsetrue <br><br><br>
            多个复选框绑定到同一个数组: <br>
            <input type="checkbox" id="坤坤" v-model="ckbStr" value="坤坤"><label for="坤坤">坤坤</label>
            <input type="checkbox" id="王坚" v-model="ckbStr" value="王坚"><label for="王坚">王坚</label>
            <input type="checkbox" id="飞飞" v-model="ckbStr" value="飞飞"><label for="飞飞">飞飞</label><br>
            选中的值为:{{ckbStr}} <br>
            需要给input绑定value值,并将model绑定到数组
            <br><br><br>
            单选按钮
            <input type="radio" id="one" value="one" v-model="radioVal"><label for="one">one</label>
            <input type="radio" id="two" value="two" v-model="radioVal"><label for="two">two</label>
            <br> 选中的值为 {{radioVal}} <br>
            需要将 radio的value绑定到同一个data数据上
            <br><br><br>
            下拉选择框(select): <br>
            <select v-model="selectVal">
                <option value="" disabled>请选择</option>
                <option value="坤坤">坤坤</option>
                <option value="飞飞">飞飞</option>
                <option value="王坚">王坚</option>
            </select>
            选中的内容是: {{selectVal}}
            <br><br>
            多选框(select): <br>
            <select v-model="selectMVal" multiple>
                <option value="" disabled>请选择</option>
                <option value="坤坤">坤坤</option>
                <option value="飞飞">飞飞</option>
                <option value="王坚">王坚</option>
            </select>
            选中的内容是: {{selectMVal}}
        </div>

    </div>

    <script src="https://cdn.jsdelivr.net/npm/vue@2"></script>

    <script>
        var app = new Vue({
            el: '#app',
            methods: {
                add: function () {
                    this.count++
                },
                subtraction: function () {
                    this.count--
                },
                addnum(num) {
                    this.count += num
                },
                doThis() {
                    conosole.log('aaaaa')
                }
            },
            data: {
                count: 0,
                inputVal: '',
                ckbVal: false,
                ckbStr: [],
                radioVal: '',
                selectVal: "",
                selectMVal: []

            },

        })

    </script>
</body>

</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值