? ? ? 提醒:vue.js 現(xiàn)在正在飛速發(fā)展中叉讥,很多資源隨時都有可能過時侍郭,記得查看最新文檔鸠珠,使用最新資源遗淳。???
? ? ? ? ?vue.js是一個構(gòu)建數(shù)據(jù)的驅(qū)動的web界面的庫。vue.js的目標是通過盡可能簡單的API實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合是視圖組件令哟。vue.js不是一個全能框架恼琼,它只聚焦與視圖層,容易與項目整合屏富。另一方面晴竞,在于相關(guān)工具庫一個使用時,vue也能完美的驅(qū)動復(fù)雜的單頁應(yīng)用狠半。
Vue 的組件化實踐
? ? ? 組件是vue.js中最強大的功能之一噩死,組件可以擴展HTML元素,封裝可重用的代碼典予。組件是自定義元素 甜滨,vue.js的編譯器為它添加特殊功能乐严。
組件之間的通信
父組件可以通過Prop來給子組件傳遞數(shù)據(jù)
?prop是父組件用來傳遞數(shù)據(jù)的一個自定義屬性瘤袖。子組件需要顯示的用props選項聲明prop:
? ? ? ? ?我們可以通過v-bind動態(tài)的綁定props的值到父組件的數(shù)據(jù)中,每次當綁定的數(shù)據(jù)在父組件中發(fā)生改變的時候昂验,該組件也會相應(yīng)的傳遞給子組件捂敌。
? ? ? ? 如果要給prop傳遞一個字面的時候必須要使用v-bind這樣傳遞下去的才是正真的字面量艾扮,否則都會當做字符串。
? ? ?prop是單向綁定的:當父組件的屬性變化時占婉,將傳遞給子組件泡嘴,但是在子組件中改變數(shù)據(jù)的時候并不會傳遞給父組件,為了防止子組件無意間修改父組件的狀態(tài)逆济,所以不應(yīng)該在子組件 中改變prop的數(shù)據(jù)酌予。
子組件與父組件的通信
? ? ?父組件使用props可以傳遞數(shù)據(jù)給子組件,但是如果子組件要把數(shù)據(jù)傳遞給父組件那么我們就要通過自定義事件的方法將數(shù)據(jù)傳遞給父組件奖慌。?
vue-router
vue-router- 單頁面應(yīng)用路由
使用 Vue.js 和 vue-router 創(chuàng)建單頁應(yīng)用非常的簡單抛虫,使用 Vue.js 開發(fā),整個應(yīng)用已經(jīng)被拆分成了獨立的組件简僧。在使用 vue-router 時建椰,我們需要做的就是把路由映射到各個組件,vue-router 會把各個組件渲染到正確的地方岛马。
? v-if VS v-show
? v-if 是真實的條件渲染棉姐,因為它會確保條件塊在切換當中適當?shù)劁N毀與重建條件塊內(nèi)的事件監(jiān)聽器和子組件。
v-if 也是惰性的:如果在初始渲染時條件為假啦逆,則什么也不做——在條件第一次變?yōu)檎鏁r才開始局部編譯(編譯會被緩存起來)伞矩。
相比之下, v-show
簡單得多——元素始終被編譯并保留夏志,只是簡單地基于 CSS 切換扭吁。
?v-if 有更高的切換消耗
?v-show 有更高的初始渲染消耗。因此盲镶,如果需要頻繁切換使用 v-show較好侥袜,如果在運行時條件不大可能改變則使用 v-if 較好。
(完)