vue:model和v-model的区别
?
?v-model:
你可以用?v-model?指令在表單?<input>、<textarea>?及?<select>?元素上創(chuàng)建雙向數(shù)據(jù)綁定。它會(huì)根據(jù)控件類型自動(dòng)選取正確的方法來(lái)更新元素。盡管有些神奇,但?v-model?本質(zhì)上不過是語(yǔ)法糖。它負(fù)責(zé)監(jiān)聽用戶的輸入事件以更新數(shù)據(jù),并對(duì)一些極端場(chǎng)景進(jìn)行一些特殊處理。
v-model?會(huì)忽略所有表單元素的?value、checked、selected?特性的初始值而總是將 Vue 實(shí)例的數(shù)據(jù)作為數(shù)據(jù)來(lái)源。你應(yīng)該通過 JavaScript 在組件的?data?選項(xiàng)中聲明初始值。
v-model?在內(nèi)部為不同的輸入元素使用不同的屬性并拋出不同的事件:
- text 和 textarea 元素使用?value?屬性和?input?事件;
- checkbox 和 radio 使用?checked?屬性和?change?事件;
- select 字段將?value?作為 prop 并將?change?作為事件。
對(duì)于需要使用輸入法?(如中文、日文、韓文等) 的語(yǔ)言,你會(huì)發(fā)現(xiàn)?v-model?不會(huì)在輸入法組合文字過程中得到更新。如果你也想處理這個(gè)過程,請(qǐng)使用?input?事件。
?:model和v-model的區(qū)別
? ? ?:model是v-bind:model的縮寫,<child :model="msg"></child>這種只是將父組件的數(shù)據(jù)傳遞到了子組件,并沒有實(shí)現(xiàn)子組件和父組件數(shù)據(jù)的雙向綁定。當(dāng)然引用類型除外,子組件改變引用類型的數(shù)據(jù)的話,父組件也會(huì)改變的。?
總結(jié)
以上是生活随笔為你收集整理的vue:model和v-model的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大剑无锋之Zookeeper面试题
- 下一篇: Vue全家桶实战01_【从入门到放弃系列