美文网首页
单项数据流与双向数据绑定

单项数据流与双向数据绑定

作者: 99ZY | 来源:发表于2021-11-27 20:37 被阅读0次

单向绑定 vs 双向绑定

单双向绑定,指的是View层和Model层之间的映射关系。

react采取单向绑定,如图所示:

image.png

用户访问View,用户发出交互到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的语法糖,我们也可以采取类似react的单向绑定。
vue的v-model在操作表单是,显得很简单,我们不用去写繁琐的onChange事件去处理每个表单数据的变化,但是双向绑定也会导致数据变化不透明,不清晰可控。优点和缺点共存,有时候一个人的优点也是一个人的缺点,道理都是相通的。

单向数据流 vs 双向数据流

数据流指的是组件之间的数据流动。

vue和react仅单向数据流

虽然vue有双向绑定v-model,但是vue和react父子组件之间数据传递,仍然还是遵循单向数据流的,父组件可以向子组件传递props,但是子组件不能修改父组件传递来的props,子组件只能通过事件通知父组件进行数据更改,如图所示:

image.png

优点是所有状态的改变可记录、可跟踪,源头易追溯; 所有数据只有一份,组件数据只有唯一的入口和出口,使得程序更直观更容易理解,有利于应用的可维护性

angularJs可以双向数据流

相比之下,元老级框架AngularJS却不一样,它允许在子组件中直接更新父组件的值

数据流与绑定

准确来说两者并不是一回事。单向数据流也可有双向绑定,双向数据流也可以 有双向绑定
但是很多资料混为一谈

image.png

引用来源

相关文章

  • Vue 中的双向数据绑定

    双向绑定 单向数据流 双向绑定 or 单向数据流 Vue 是单向数据流,不是双向绑定 Vue 的双向绑定是语法糖 ...

  • 前端三大框架:数据绑定与数据流

    目录序言单向数据绑定 vs 双向数据绑定单向数据流 vs 双向数据流数据流与数据绑定参考1. 序言在前端三大主流的...

  • 单项数据流与双向数据绑定

    单向绑定 vs 双向绑定 单双向绑定,指的是View层和Model层之间的映射关系。 react采取单向绑定,如图...

  • AngularJs数据绑定

    数据的绑定:单项数据绑定和双向数据绑定 1、单项数据绑定(模型到视图) 运行结果: 其中绑定数据有两种方式:“{{...

  • [转] DataBinding 数据绑定

    数据绑定分为单项绑定和双向绑定两种。单向绑定上,数据的流向是单方面的,只能从代码流向 UI;双向绑定的数据是双向的...

  • Vue的双向绑定和单向数据流

    五一假期在家补了课,看到双向绑定与单向数据流的概念。瓦特,我之前以为Vue的V-model就是双向数据流,其实不然...

  • 双向数据绑定和单向数据流区别

    双向数据绑定和单向数据流区别 单向数据绑定优缺点:优点:单向数据流,所有状态变化都可以被记录、跟踪,状态变化通过手...

  • Vue 几个要点(一)

    Vue是单向数据流,不是双向绑定 Vue的双向绑定不过是语法糖 Object.defineProperty是用来做...

  • 单向数据绑定【单向数据流】与双向数据绑定【双向数据流】

    单向数据绑定 单向数据绑定,带来单向数据流。。指的是我们先把模板写好,然后把模板和数据(数据可能来自后台)整合到一...

  • vue学习(4)数据绑定

    知识点 vue中有两种数据绑定的方式1:单项数据绑定(v-bind),数据只能从data流向页面。2:双向数据绑定...

网友评论

      本文标题:单项数据流与双向数据绑定

      本文链接:https://www.haomeiwen.com/subject/peuqxrtx.html