ractivejs双向约束的原则是什么?

时间:2015-04-07 10:34:44

标签: ractivejs

我使用ractivejs,我知道angularjs的双向绑定"脏检查"但是我不知道ractivejs的原理,谁知道?我想要一个详细的答案。

1 个答案:

答案 0 :(得分:2)

Ractive不会对任何内容进行区分或检查,它使用声明性模板确切地知道需要更新的内容。

Ractive基于模板构造virtualDOM。虚拟dom的模板部分(其中包含{{...}}的部分)使用它们包含的键路径向viewmodel注册。

当发生ractive.set(...)或其他一种数据操作方法时,会通知依赖项更改(计算和表达式,上游和下游键路径以及观察者也会收到通知)。

Ractive使用runloop批处理实际DOM更改,以便在周期结束时进行任何设置操作。

除API调用外,Ractive默认提供双向绑定。这将需要DOM事件从表单输入控件映射到API调用,以设置绑定到的数据(通过指定的键路径)。

Ractive确实提供了.update(keypath).updateModel(keypath)方法,可用于从模型到视图刷新更改,或者在Ractive无法了解它们时查看模型,例如使用第三方小部件库。