06-基础-系统指令-v-model-语法糖原理

<!DOCTYPE html>
<html>

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

<body>
    <div id='app'>
        {{msg}}
        <br>
        <input type="text" v-model="msg">

        <!-- v-model原理->
        需求-> 使用vue学过的知识实现v-model的效果(假设没有v-model)
        1. 学过哪些知识->复习
        2. v-model效果
        2.1 运行文件->value的值就是msg的初始值
        2.2 当进行UI操作(输入新值)->value变化->msg=最新的value
        > 补充: js有事件->当input值变化时 触发 
        @input事件
        @onchange事件 -->
        <!--  v-model是vue提供的简化写法->语法糖  -->

        {{msg}}
        <br>
        <input type="text" :value="msg" @input="msg=$event.target.value">
    </div>
    <script src='./vue.js'></script>
    <script>
        new Vue({
            el: '#app',
            data: {
                msg: "abc"
            },
            methods: {
                fn(e) {
                    // console.log(e);
                    // msg=最新的value
                    // 给msg赋值->修改msg->获取msg->js代码获取data中msg->this.msg
                    // 最新的value-> 获取input标签->获取当前事件->获取事件对象e
                    console.log(this);
                    this.msg = e.target.value;
                }
            }
        });
    </script>
</body>

</html>

猜你喜欢

转载自www.cnblogs.com/divtab/p/10940240.html