2013-01-16 126 views

回答

12

ko.applyBindings是一个同步调用。

有些情况下,绑定有特殊的代码来执行setTimeout中的事情,但通常情况并非如此。

Knockout 3.2中增加了components,组件是异步的。通过Knockout 3.3,如果加载视图模型/模板,将会有一个同步渲染组件的选项。

+0

非常感谢! – vtortola

+0

Ryan,我们现在可以得到有关此答案的更新,现在组件已在3.2版本之外?如果模块尚未加载,我假设它不同步,但是,如果所有依赖项都已加载,它是同步的吗?谢啦! –

+3

'ko.applyBindings'本身是同步的。组件是异步的。在KO 3.3中,如果加载了视图模型/模板,将会有一个选项来呈现组件同步。 –

2

敲除是同步的。 RP Niemeyer所说的不仅仅是ko.applyBindings的功能。当您设置一个值,这是绑定到一个视图中观察到的属性,你可以肯定的是,执行

myViewModel.myObservableProperty(newValue); 

您的观点后,也已更新100%。 事实上,observable属性是一个函数,当你为你的observable属性设置一个新值时,你只需要用新值作为参数调用一个函数:这个函数在它的body中同步触发'change'事件不知道事件的名称)。

希望它有帮助..对不起,但我的英语有点生疏。

相关问题