单向数据流和双向数据流

单向数据绑定:指的是我们先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HTML代码,然后把这段HTML代码插入到文档流里面。

缺点:HTML代码一旦生成完以后,就没有办法再变了,如果有新的数据来了,那就必须把之前的HTML代码去掉,再重新把新的数据和模板一起整合后插入到文档流中。

优点:相应的可以带来单向数据流,这样做的好处是所有状态变化都可以被记录、跟踪,状态变化通过手动调用通知,源头易追溯。

 

双向数据绑定:数据模型(Module)和视图(View)之间的双向绑定,用户在视图上的修改会自动同步到数据模型中去,同样的,如果数据模型中的值发生了变化,也会立刻同步到视图中去。

缺点:无法追踪局部状态的变化,潜在的行为增加了debug的难度,由于组件数据的入口不止一个,新手很容易将数据流方向弄的紊乱,很容易因为一些操作造成雪崩。

优点:双向数据绑定的优点是无需进行和单向数据绑定的那些CRUD(Create,Retrieve,Update,Delete)操作,
双向数据绑定最经常的应用场景就是表单了,这样当用户在前端页面完成输入后,不用任何操作,我们就已经拿到了用户的数据存放到数据模型中了,在表单交互较多的场景下,会简化大量业务无关的代码。
目前。实现双向数据绑定的前端框架主要有AngularJS,VueJS(通过引入vuex来实现单项的数据监控)等 

posted @ 2018-03-17 11:33  小小锦2015  阅读(718)  评论(0编辑  收藏  举报