1.Vue.js介紹
當前前端三大主流框架:Angular、React、Vue。React前段時間由于許可證風波,使得Vue的熱度蹭蹭地上升。另外,Vue友好的API文檔更是一大特色。Vue.js是一個非常輕量級的工具,與其說是一個MVVM框架,不如說是一個js庫。Vue.js具有響應式編程和組件化的特點。響應式編程,即保持狀態和視圖的同步,狀態也可以說是數據吧;而其組件化的理念與React則一樣,即“一切都是組件,組件化思想方便于模塊化的開發,是前端領域的一大趨勢。
2.內部指令
2-1.v-if v-else v-show:前兩者一般配合使用,v-show的效果類似于v-if。
實例如下:
<body> <div id="app"> <p v-if="flag">if</p> <p v-else>else</p> <p v-show="flag">show</p> </div></body><script> var vm= new Vue({ el:"#app", data:{ flag:true } });</script>DOM結構中,三個p標簽中的內容是否顯示在頁面中取決于flag的布爾值屬性。當flag為true時,if和show都會顯示,else也不會存在于DOM結構中。v-if和v-show的不同體現在:v-if是根據條件的值判斷是否加載,可以減輕服務器的壓力,但是缺點是當改變條件的值,頁面又要加載一次;v-show則無論條件的值是否為true,都會加載(若條件為true,則display屬性設置為其默認屬性,反之,設置為none)
2-2.v-for 循環指令
實例如下:
<body> <div id="app"> <ol> <li v-for="b in b">{{b}}</li> </ol> </div></body><script> var vm= new Vue({ el:"#app", data:{ b:['a','b','c',1,2] } });</script>頁面會顯示5個li,插值的效果是li會顯示與數組b一 一對應的元素,v-for有點類似于for in循環
2-3 v-text v-html 文本(html字符串)指令
<body> <div id="app"> <p v-text="msgText"></p> <p v-html="msgHtml"></p> </div></body><script> var vm= new Vue({ el:"#app", data:{ msgText:"China", msgHtml:"<span>中國</span>" } });</script>可以聯想到jquery的text()、html()。到現在,你會發現前面都是利用插值操作,即{{}},這種做法會在一定程度上影響性能。
2-4 v-on 綁定事件監聽器
實例如下:
<body> <div id="app"> <button v-on:click="Hi()">Button</button> </div></body><script> var vm= new Vue({ el:"#app", methods:{ Hi:function(){ alert("Hello World!") } } });</script>同理,類比jquery的on()方法,綁定事件用的,實例中v-on:click可以簡寫為@click。click可以替換成鼠標的其他操作,如mouseout、mouseover等等。
新聞熱點
疑難解答
圖片精選