參考文章:http://www.qb5200.com/article/482839.html
單雙向系結指的是View層跟Model層之間的映射關系
單向系結vs雙向系結
react采用單向系結,vue采用單向系結和雙向系結,

在React中Veiw發生改變,用戶通過發生Actions進行處理,Actions通過setState進行更新State,State更新后觸發View更新,可以看出View不能直接修改State,必須通過Actions來進行操作,這樣更加清晰可見
單向系結的優點在于清晰可控,缺點則在于模板代碼過多,
vue同時支持單向系結和雙向系結
單向系結:插值形式{{data}},v-bind也是單向系結
雙向系結:表單的v-model,用戶對View層的更改會直接同步到Model層
實際上v-model是v-bind:value和v-on:input的語法糖,
雙向系結可以簡化開發,但是資料變化不透明,
單向資料流vs雙向資料流

資料流是指組件之間的資料流動
vue和react都是單向資料流,雖然vue有雙向系結v-model,但是react和vue父子組件之間的資料傳遞,仍然遵循單向資料流的,父組件可以向子組件傳遞props,子組件不能修改父組件的props,只能通過事件通知父組件修改,
通過單向資料流的模型,所有狀態的改變可記錄、可跟蹤,相比于雙向資料流更容易維護與定位問題,
v-model只是語法糖,并不是真正的雙向資料流,它不能直接修改父組件的值,比如你在v-model中系結props中的值是會報錯的,它只能系結組件的值
真正的雙向資料流,比如AngularJs,是允許在子組件中直接修改父組件的值
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/541766.html
標籤:其他
下一篇:手機端H5 實作自定義拍照界面
