單向數據綁定和雙向數據綁定的優缺點


經常看見在vue或者angular的介紹里說自己的特色是雙向數據綁定,而在看react的介紹中,說自己的優勢和特色是單向數據綁定。
雙向和單向只不過是框架封裝程度上的差異,本質上兩者是可以相互轉換的。

更多討論見知乎:https://www.zhihu.com/question/49964363

1.單向數據綁定

單向數據綁定的優點:
  單向數據流,所有狀態變化都可以被記錄、跟蹤,狀態變化通過手動調用通知,源頭易追溯,沒有“暗箱操作”。
  同時組件數據只有唯一的入口和出口,使得程序更直觀更容易理解,有利於應用的可維護性。
單向數據綁定缺點:
  則是代碼量會相應的上升,數據的流轉過程變長,從而出現很多類似的樣板代碼。
  同時由於對應用狀態獨立管理的嚴格要求(單一的全局store),在處理局部狀態較多的場景時(如用戶輸入交互較多的“富表單型”應用),會顯得啰嗦及繁瑣。

2.雙向數據綁定

雙向數據綁定的優點:

  在表單交互較多的場景下,會簡化大量業務無關的代碼。
雙向數據綁定缺點:
  “暗箱操作”,無法追蹤局部狀態的變化

兩者並不互斥,實際上,在ng2中你可以非常方便的同時使用兩者。全局性數據流使用單向,好跟蹤。局部性數據流使用雙向,簡單。

// v-model 單向數據 實現雙向綁定
<input type="text" v-bind:value="msg" v-on:input="msg = $event.target.value">


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM