2013-01-16 166 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'事件不知道事件的名稱)。

希望它有幫助..對不起,但我的英語有點生疏。

相關問題