我想要的視圖模型實例來完成,然後只調用loadUniqueUrl(viewModel);
下面的代碼:Knockout.js:等待視圖模型實例來完成
var viewModel = new ViewModel(data, subTopicId, chapterId, planId);
ko.applyBindings(viewModel);
loadUniqueUrl(viewModel);
我不能修改ViewModel.I不知道如何使用回調在這種情況下。請幫助
我想要的視圖模型實例來完成,然後只調用loadUniqueUrl(viewModel);
下面的代碼:Knockout.js:等待視圖模型實例來完成
var viewModel = new ViewModel(data, subTopicId, chapterId, planId);
ko.applyBindings(viewModel);
loadUniqueUrl(viewModel);
我不能修改ViewModel.I不知道如何使用回調在這種情況下。請幫助
通常只需要很少的時間完成綁定...在情況下,事情只是爲了你而快速解僱並且你無法控制你的對象模型,在簡單的setTimeout中包裝你想要執行的功能。
setTimeout(loadUniqueUrl(viewModel), 200)
大錘的做法。如果你完成得更快,UI就會等待。如果加載時間超過200,那麼你開始加載一個部分初始化的對象,這可能會導致各種問題。 –
感謝您的建設性意見和明智的話語。正如他所說,他無法訪問視圖模型...如果這也意味着他無權訪問添加ko.computed對象,則「延遲評估」選項不可用。我們中的一個人很有幫助。 – beauXjames
我沒有提供一個不完整的解決方案,或者因爲有人指出我的解決方案存在潛在的問題而發愁。我們中的一個人沒有親自接受。 –
您的代碼逐行執行,因此當applyBidings完成時,loadUniqueUrl將被調用。當然,如果你的ViewModel沒有任何Ajax調用。 – alexmac
不完全@亞歷山大。 Javascript是異步的。 –
你應該使用回調 –