這里先說一下vue的特點(diǎn)戴陡,最近一直在學(xué)vue,感覺比ng好用叫潦。
Vue.js特點(diǎn):
? ? ? ? ? ? ? ? 1.簡(jiǎn)潔:頁面由HTML模板+Json數(shù)據(jù)+Vue實(shí)例組成
? ? ? ? ? ? ? ? ?2.數(shù)據(jù)驅(qū)動(dòng):自動(dòng)計(jì)算屬性和追蹤依賴的模板表達(dá)式
? ? ? ? ? ? ? ? ?3.組件化:用可復(fù)用、解耦的組件來構(gòu)造頁面
? ? ? ? ? ? ? ? ?4.輕量:代碼量小,不依賴其他庫
? ? ? ? ? ? ? ? ?5.快速:精確有效批量DOM更新
? ? ? ? ? ? ? ? ?6.模板友好:可通過npm水援,bower等多種方式安裝,很容易融入
vue常用的指令主要有{{}}茅郎,v-text,v-html,v-on,v-bind,v-modle蜗元,v-if,v-show系冗,v-else奕扣,v-for
這里先區(qū)別一下{{}},v-text,v-html,這3個(gè)掌敬。
1惯豆,{{}},值是什么奔害,原樣輸出什么楷兽。
2,v-text华临,同{{}}一樣的效果芯杀,但是{{}}在頁面沒加載完時(shí),雙大括號(hào)會(huì)顯示出來雅潭,比較丑陋揭厚,建議使用v-text。
3寻馏,v-html棋弥,會(huì)把值中的標(biāo)簽給解析,輸出到頁面诚欠。例如你的data里有msg:"<p>你好</p>vue",那么使用v-html="msg",最終結(jié)果是你好倆字與vue是不在一行里的顽染,但是如果用v-text="msg",那么結(jié)果會(huì)是:<p>你好</p>vue ,因?yàn)関-text是不會(huì)解析p標(biāo)簽的。
v-show與v-if都是控制dom的隱藏和顯示轰绵,區(qū)別是:
v-if是真實(shí)的條件渲染粉寞,因?yàn)樗鼤?huì)確保條件塊在切換當(dāng)中適當(dāng)?shù)劁N毀與重建條件塊內(nèi)的事件監(jiān)聽器和子組件。
v-if也是惰性的:如果在初始渲染時(shí)條件為假左腔,則什么也不做——在條件第一次變?yōu)檎鏁r(shí)才開始局部編譯(編譯會(huì)被緩存起來)唧垦。相比之下,v-show簡(jiǎn)單得多——元素始終被編譯并保留液样,只是簡(jiǎn)單地基于 CSS display="block"或者display="none"進(jìn)行切換振亮。
一般來說巧还,v-if有更高的切換消耗而v-show有更高的初始渲染消耗。因此坊秸,如果需要頻繁切換使用v-show較好麸祷,如果在運(yùn)行時(shí)條件不大可能改變則使用v-if較好。
v-modle主要是數(shù)據(jù)的雙向綁定褒搔,一般是輸入框和vue對(duì)象中data里的數(shù)據(jù)雙向綁定
v-bind主要是綁定一些屬性阶牍,例如img的src a標(biāo)簽的href,等等⌒邱可以簡(jiǎn)寫成 :src, :href 等等
v-on要是綁定事件走孽,可以簡(jiǎn)寫成@click
v-else一般和v-if連用,控制dom的顯示和隱藏
v-for主要是用作列表渲染