v-model与v-bind区别:

1、v-bind是单向绑定,用来绑定数据和属性以及表达式,数据只能从data流向页面。

2、v-model是双向绑定,数据能从data流向页面,也能从页面流向data。

3、v-bind可以给任何属性赋值,v-model只能给表单类,也就是具有value属性的元素进行数据双向绑定,如text、radio、checkbox、selected。

这个原因也很好理解,从页面流向data,v-model是捕获用户的输入值,如果没有value,捕获不了,所以这个流向没有意义,v-model就是收集value值。

例子:

使用v-bind单向绑定

修改data中的值,文本框也会变

修改文本框的值,data不会变

 使用v-model双向绑定

文本框的内容变化,data中的值也会变,反之如此;同时单向文本框的内容也会变化,因为data变化了。 

<body>
    <div id="root">
        <!-- 简写 -->
        单向数据绑定<input type="text" name="" id="" :value='name'><br />
        双向数据绑定<input type="text" name="" id="" v-model='name'>
    </div>
    <script>
        new Vue({
            el: '#root',
            data: {
                name: '单向数据绑定与双向'

            }
        })
    </script>

</body>

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐