是ko.applyBindings同步还是异步?

时间:2013-01-16 15:15:33

标签: knockout.js knockout-2.0

在调用ko.applyBindings()之后生成的视图是否存在或脚手架是否异步发生?

谢谢!

2 个答案:

答案 0 :(得分:12)

ko.applyBindings是同步通话。

可能存在绑定具有特殊代码以在setTimeout中执行操作的情况,但通常情况并非如此。

components中添加Knockout 3.2后,组件是异步的。使用Knockout 3.3,如果加载了viewmodel / template,将有一个同步渲染组件的选项。

答案 1 :(得分:2)

Knockout是同步的。不仅是RP Niemeyer所说的ko.applyBindings功能已经说过了。当您将值设置为绑定到视图的可观察属性时,您可以100%确定执行后

myViewModel.myObservableProperty(newValue);

您的观点已更新。 实际上,一个observable属性是一个函数,当你为你的observable属性设置一个新值时,你只需要调用一个带有新值作为参数的函数:这​​个函数在它的体内将同步触发'change'事件(我不是t确切知道事件的名称。)

希望它有所帮助..抱歉,但我的英语有点生疏。