首页 > 其他 > 详细

vue2.0 v-model指令

时间:2017-09-07 23:43:14      阅读:315      评论:0      收藏:0      [点我收藏+]
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="vue2.2.js"></script>
    </head>

    <body>
        <div id="app">
            <input type="text" v-model="userName" />
            <input type="text" V-model.lazy="msg" />
            <input type="text" V-model.number="num" />
            <p>{{userName}}</p>
            <p>{{msg}}</p>
            <p>{{num}}</p>
            <!--.lazy:取代 imput 监听 change 事件。
            .number:输入字符串转为数字。
            .trim:输入去掉首尾空格。-->
            <!--通过v-once指令能执行一次性的插值,当数据变化时,插值处的内容不会更新。-->
            <p v-once>一次改变{{userName}}</p>
        </div>
        <script>
            var vm = new Vue({
                el: "#app",
                data: {
                    userName: "张三",
                    msg: "懒加载",
                    num: "222222"
                }
            })
            vm.userName = 李四
        </script>
    </body>

</html>

双向绑定原理:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>vue双向绑定的核心原理getter和setter</title>
    </head>
    <body>
        <input type="text" id="inp" value="admin" />
        <script>
            var inp = document.getElementById("inp");
            Object.defineProperty(inp, "v-model", { //对象自定义按键修饰符别名
                set: function(val) {
                    this.value = val //this指的是input
                },
                get: function() {
                    return this.value;
                }
            })
            console.log(inp[v-model])
            inp["v-model"] = "hello"

            //vue就是利用这个set/get进行双向绑定,为什么我们一直要说是setter/getter
            //因为setter与getter是面向对象语言中的一个特性,利用getter可以获取对象的属性,利用setter可以设置对象的属性.
        </script>
    </body>

</html>

 

vue2.0 v-model指令

原文:http://www.cnblogs.com/lhl66/p/7492296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!