在DOMContentLoaded之后或在onactivated事件之后调用WinJS.UI.processAll()

时间:2012-11-30 18:23:08

标签: windows-8 winjs

我见过的大多数MSDN WinJS应用示例都是在应用WinJS.UI.processAll()事件后调用activated。我还看到了许多在WinJS.UI.processAll()事件后调用DOMContentLoaded的非MSDN教程。

是否有任何实际理由使用一种方法而不是另一种方法?

1 个答案:

答案 0 :(得分:4)

这是时间问题;我个人称之为DOMContentLoaded:

WinJS.Utilities.ready().done(function() {
    WinJS.UI.processAll();
});

其中一个主要原因是您可以将承诺返回到激活处理程序(您在模板中看到的setPromise调用),这样启动屏幕会持续一段时间,直到{{1}完成。这样可以更好地从启动画面切换到已完成的内容,而无需查看部分构建的UI。

但是,如果你的UI根据激活类型而改变,你可能想要延迟这个,直到你构建了DOM。由于您需要激活类型来实现这些差异,因此您需要在激活事件引发后调用它。