前言
很多使用Vue的同學往往最容易忽略的指令,由于在這里考慮到很多初學甚至還沒有開始接觸Vue的同學呢,在介紹v-clos之前呢就先以大家都熟知的v-model編寫小demo
v-model
相信大家對v-model并不陌生,簡單來講他就是用于在表單控件以及組建上創建的雙向數據綁定
首先我們搭建一個Vue的小環境,在一個html頁面中引入Vue.js
下面為大家帶來一個小栗子:
<body><div id="app"><input type="text" v-model="message"><br>這里是文本框輸入的值——{{message}}</div>
</body>
<script>var app = new Vue({el: '#app',data: {message: '你好,幾何心涼!',},})
</script>
很簡單的例子運行結果也無容置疑哈!
下面我們更加直白的看到雙向關系
1.我們通過在控制臺中去改變model中的數據
我們可以發現我們改變model中的message的值,View中的值就跟著改變了
2.我們通過在文本框改變View中的值查看model中的變化
我們發現當我們通過文本框去改變View中的值的時候,其實我們的Model中的值也隨之改變了。
總結
通過上面實例你是不是對Vue的雙向綁定有了更近一步的了解呢,因為我們只能通過表單元素來對View的數據進行改變,當然我們其他的表單元素也是可以的我們就不一一列舉了;
v-model修飾符
1..lazy
我們在上面的動圖中可以看到通過v-model綁定的文本框只要是文本框的值發生變化了就會更新到Model的數據中,很多時候我們可能連貫實現某種功能但是會影響我們的性能,所以我們用到了.lazy
修飾符
他會在我們文本框失去焦點的時候再幫我們將文本框的值同步給Model
<body><div id="app"><h3>我是測試——{{message}}</h3>
<input type="text" v-model.lazy="message"></div>
</body>
<script>var app = new Vue({el: '#app',data: {message: '',},})
</script>
來看一下效果
2..number
我們還是拿文本框舉例,很多時候我們需要一些值讓用戶填寫而這個值可能希望他是數字我們用于計算,這個時候很多同學想到很多辦法,轉換呀、輸入后去判斷等等等,但其實v-model中有一個修飾符就可以幫助我們完成這個需求
我們還是通過一個小栗子來看一下,首先我們希望兩個文本框各輸入一個數值我們進行求和
可以看一下結果
我們可以看到并不是我們想要的結果,他是作為拼接而不是求和,那么我們添加上.number修飾符來試試看
<body><div id="app"><h3>我是求和——{{num1+num2}}</h3>
<input type="text" v-model.number="num1">
<input type="text" v-model.number="num2"></div>
</body>
<script>var app = new Vue({el: '#app',data: {message: '',num1: '',num2: '',},})
</script>
再來看看結果
3..trim
這個大家應該不陌生相對用的比較多,就是去除空格的,但是他只會去除文本框兩端的空格,中間的不會去除哦
<body><div id="app"><h3>我是測試——{{message}}</h3>
<input type="text" v-model.trim="message"></div>
</body>
<script>var app = new Vue({el: '#app',data: {message: '',},})
</script>
看下效果
小常識:
其實這里綁定在文本框上的v-model只不過是語法糖而已,使用 value 屬性和 input 事件完成了雙向的綁定,文本框的值變化了我們就觸發input事件改變我們綁定的值,而同時我們文本框的value值也在與message掛鉤
v-cloak
這個v-cloak究竟是做什么的,首先我們來看下面代碼
<body><div id="app"><h3>我是測試——{{message}}</h3></div>
</body>
<script>var app = new Vue({el: '#app',data: {message: '你好幾何心涼',},})
</script>
然后我們發現在頁面渲染的時候,會出現以下瞬間
一閃而過立馬
這種在我們實際開發過程中尤其是在我們網絡狀態不太好或者是后端接口響應比較緩慢的時候出現這種現象,所以就用到我們的v-cloak
其實他的原理就是 display:none 大家應該就明白了,也就是當我們data中綁定的變量具備值之前Dom元素是隱藏的,所以就不會出現上述的問題了
最近幾年Vue越來越火熱,BAT等互聯網大廠都在前端職位招聘中加入了精通Vue.js框架的要求,就連餓了么公司的技術團隊也專門為Vue.js設計了UI框架體系。本書的實操案例都是筆者獨立完成的實際項目,有著對標市場實際需求的參考價值,同時本書提供的框架模式可以讓讀者應用于其他項目,從而提高開發效率,減少開發彎路。
本書從Vue.js框架技術的基礎概念出發,逐步深入Vue.js進階實戰,并在最后配合一個網站項目和一個后臺系統開發實戰案例,重點介紹了使用Vue.js+axios+ElementUI+wangEditor進行前端開發和使用組件進行Vue單頁面網頁復用,讓讀者不但可以系統地學習Vue.js前端開發框架的相關知識,而且還能對業務邏輯的分析思路、實際應用開發有更為深入的理解。
本書語言平實,用詞詼諧,案例豐富,實用性強,特別適合剛入社會的職場新人、Vue.js框架的初級讀者和進階讀者閱讀,也適合希望從后臺開發轉型做前端的程序員等其他編程愛好者閱讀。另外,本書也適合作為相關培訓機構的教材使用。
面試法寶
很多伙伴找到我詢問面試題,問我針對于前端有沒有比較體系化的面試題總結,今天就給大家推薦這款面試法寶
點擊鏈接直達
https://www.nowcoder.com/link/jihexinliang260
就是我們的牛客網,各大互聯網大廠面試真題。從基礎到入階乃至原理刨析類面試題 應有盡有,趕快來裝備自己吧!助你面試穩操勝券,solo全場面試官