參考文章:前端
https://segmentfault.com/q/1010000002511449/a-1020000002514653vue
https://www.zhihu.com/question/49964363/answer/136022879angularjs
單向數據綁定:指的是咱們先把模板寫好,而後把模板和數據(數據可能來自後臺)整合到一塊兒造成HTML代碼,而後把這段HTML代碼插入到文檔流裏面。vuex
單向數據綁定缺點:HTML代碼一旦生成完之後,就沒有辦法再變了,若是有新的數據來了,那就必須把以前的HTML代碼去掉,再從新把新的數據和模板一塊兒整合後插入到文檔流中。segmentfault
雙向數據綁定:數據模型(Module)和視圖(View)之間的雙向綁定。前端框架
用戶在視圖上的修改會自動同步到數據模型中去,一樣的,若是數據模型中的值發生了變化,也會馬上同步到視圖中去。
雙向數據綁定的優勢是無需進行和單向數據綁定的那些CRUD(Create,Retrieve,Update,Delete)操做
雙向數據綁定最常常的應用場景就是表單了,這樣當用戶在前端頁面完成輸入後,不用任何操做,咱們就已經拿到了用戶的數據存放到數據模型中了。
目前。實現雙向數據綁定的前端框架主要有AngularJS,VueJS(經過引入vuex來實現單項的數據監控)等 框架
大名鼎鼎的angular實現雙向綁定的原理就是經過$watch來進行髒檢查,可是這種髒效率很若是是大量的檢查那就不敢想象了。spa
單項數據和雙向數據使用的場景.net