在我的 Windows 8 应用程序中,我需要在加载页面时运行一些代码,但我需要在我的 default.js 文件中的应用程序级别运行它。当页面加载到 DOM 时,我可以使用一个事件来一般附加到该事件吗?
问问题
51 次
1 回答
0
在 default.js 中,已经有对WinJS.Navigation的引用,因此您可以执行以下操作:
nav.addEventListener("navigated", function (e) {
console.log('loaded a new page ' + e.detail.location);
});
当您从一个页面导航到另一个页面而不是实际加载到 DOM 时,这将触发(不确定您的意思有多具体)。
如果您希望在真正将页面加载到 DOM 时发生某些事情,您可以在页面中添加覆盖加载,然后调用WinJS.Application上的方法,例如(其中unload
是您已经获得的页面代码的一部分生成)
load: function()
{
WinJS.Application.doSomething();
},
unload: function () {
this._items.dispose();
},
在 app.js 中的应用程序代码中,您将拥有
app.doSomething = function () { console.log("I did something"); }
虽然我正在追捕这里有一个小故障。一旦我覆盖load,我会在第二次调用时看到 HierarchyRequestError 。
于 2013-01-16T05:43:42.977 回答