v-bind和v-model的区别

【区别】

1、v-bind是单向绑定,用来绑定数据和属性以及表达式,只能将vue中的数据同步到页面。

2、v-model是双向绑定,不只能将vue中的数据同步到页面,而且可以将用户数据的数据赋值给vue中的属性。

3、v-bind可以给任何属性赋值,v-model只能给具备value属性的元素进行数据双向绑定。

一、v-model

v-model多在表单中使用,在表单元素上创建双向绑定,根据控件类型选择正确的方法更新元素,可以绑定text、radio、checkbox、selected

1. 绑定text

1

<input><p> {{val}} </p>

2. 绑定radio

1

2

3

<input type="radio" value="one" v-model="radioVal" />

<input type="radio" value="two" v-model="radioVal" />

<label for v-bind="radioval" />

radioval的值随着选择单选框的值,会变成one 或者 two

3. 绑定checkBox

(1)单个勾选框,最终的值为逻辑值true和false

1

2

<input type="checkbox" v-model="checkVal"/>

<label for="checkbox">{{checkVal}}</label>

(2)多个勾选框时,将值绑定到一个数组

1

2

3

4

5

6

7

8

9

10

<input type="checkbox" value="apple" v-model="checkArray"/>

<label for="checkbox">{{apple}}</label>

<input type="checkbox" value="banana" v-model="checkArray"/>

<label for="checkbox">{{banana}}</label>

<input type="checkbox" value="pear" v-model="checkArray"/>

<label for="checkbox">{{pear}}</label>

<span>{{checkArray | json}}</span>

checkArray中的值会根据是否选中进行关联变化

4. 绑定select

(1)绑定到单个select
(2)绑定多个select时,同样适用数组

5. 增加参数

(1)lazy

将输入框的input事件改为change事件,使得输入框在change事件中更新而不是input

关于change事件和input事件的区别,简单说来是:

change事件必须是在输入框失去焦点之后才会触发,而input事件可以实时监测。

(2)number

将文本框输入的值都变为数字,如果是变为数字之后是NAN,则返回原始值

(3)trim

取出输入的字符串的首尾空格


二、v-bind

1.绑定文本

直接用v-bind或者{{}}

1

2

<p v-bind="message"></p>

<p>{{message}}</p>

2.绑定属性

1

2

3

<p v-bind:src="http://...."></p>

<p v-bind:class="http://...."></p>

<p v-bind:style="http://...."></p>

3.绑定表达式

1

2

3

{{ number + 1 }}

{{ ok ? &#39;YES&#39; : &#39;NO&#39; }}

{{ message.split(&#39;&#39;).reverse().join(&#39;&#39;) }}

4.绑定html

1

<div>{{{ raw_html }}}</div>

这个时候必须要使用三个{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值