vue提供的MVVM框架模式的數據雙向綁定,實現了HTML和js的代碼分離,提升代碼的維護性vue
vue.js的核心思想包括:數據驅動和組件化思想。webpack
若是沒有中間的ViewModel則關係圖編程下面所示:經過Ajax通訊得到後臺數據,那麼要將得到數據顯示在DOM上,則須要手動操做DOM節點。這是一個繁瑣的過程,還很容易出錯。web
而使用vue.js後則省去手動操做DOM 。在vue.js裏面只須要改變數據,Vue.js經過Directives指令去對DOM作封裝,當數據發生變化,會通知指令去修改對應的DOM,數據驅動DOM的變化,DOM是數據的一種功能天然的映射。vue.js還會對操做作一些監聽(DOM Listener),當咱們修改視圖的時候,vue.js監聽到這些變化,從而改變數據。這樣就造成了數據的雙向綁定。
編程
實現數據雙向綁定的方法:框架
數據劫持結合發佈者-訂閱者模式(vue.js)【vue data是如何實現的??】dom
vue.js採用數據劫持結合發佈者-訂閱者的方式,經過Object.defineProperty()來劫持各個屬性的setter,getter,在數據變更時,發佈消息給訂閱者,觸發相應的監聽回調。工具
具體的來說,Vue.js經過Directives指令去對DOM作封裝,當數據發生變化,會通知指令去修改對應的DOM,數據驅動DOM的變化。vue.js還會對操做作一些監聽(DOM Listener),當咱們修改視圖的時候,vue.js監聽到這些變化,從而改變數據。這樣就造成了數據的雙向綁定。
組件化
vue組件的功能3d
1)可以把頁面抽象成多個相對獨立的模塊雙向綁定
2)實現代碼重用,提升開發效率和代碼質量,使得代碼易於維護
$set和$delete是對對象來進行更改的
添加和刪除:
更改:
指令就是用來操做dom的
組件:至關於封裝代碼的,具備複用性
組件建立的;兩種方式:這個是外部建立組件
建立組件而且引用組件:
局部註冊組件:
組件他是一個獨立的模塊:
引用了組件模塊:
腳手架:至關於一個項目搭建了一個環境
打包工具
vue的文件是要通過解析的,vue-loader是基於webpack的
main.js裏面的