https://www.zhihu.com/question/49964363html
vue或者angular的介紹裏說本身的特點是雙向數據綁定,而在看react的介紹中,說本身的優點和特點是單向數據綁定。vue
vue 和 angularjs支持雙向綁定, 可是單向綁定是基本功能, 與react同基礎。react
那麼什麼狀況下,使用單向綁定, 什麼狀況下使用雙向綁定呢?angularjs
https://www.cnblogs.com/Breaveleon/p/6680175.htmlredux
單向數據綁定:指的是咱們先把模板寫好,而後把模板和數據(數據可能來自後臺)整合到一塊兒造成HTML代碼,而後把這段HTML代碼插入到文檔流裏面。框架
單向數據綁定缺點:HTML代碼一旦生成完之後,就沒有辦法再變了,若是有新的數據來了,那就必須把以前的HTML代碼去掉,再從新把新的數據和模板一塊兒整合後插入到文檔流中。mvvm
雙向數據綁定:數據模型(Module)和視圖(View)之間的雙向綁定。spa
用戶在視圖上的修改會自動同步到數據模型中去,一樣的,若是數據模型中的值發生了變化,也會馬上同步到視圖中去。雙向綁定
https://www.zhihu.com/question/49964363htm
一、單向綁定使得數據流也是單向的,對於複雜應用來講這是實施統一的狀態管理(如redux)的前提。
二、 雙向綁定在一些須要實時反應用戶輸入的場合會很是方便(好比多級聯動菜單)。
三、 全局性數據流使用單向,好跟蹤。局部性數據流使用雙向,簡單。
四、若是你的程序須要一個統一的數據源, 應該選擇單向數據流, 全部的數據變化都是可觀測的, 數據自上而下流動, 即便出問題也很容易找到源頭.
https://www.zhihu.com/question/49964363
再來看 flux 的這張圖若是咱們作進一步封裝,把 action 跟 dispatcher 都隱藏在框架內部,最後圖就變成這樣了
若是再進一步,把相互手動通知的機制再隱藏起來,變成這樣了
這個不就是 mvvm 裏面的雙向綁定麼(手動尷尬)。。。