在default.js中处理时,ViewState处理程序updateLayout方法永远不会被命中

时间:2013-08-17 19:33:07

标签: javascript visual-studio-2012 windows-8 viewstate winjs

我从一个空白模板开始,我得到一个default.htm和default.js。我想在应用程序从完全转换为快照或填充模式等时处理该事件。我已经添加了updateLayout方法,但是当我在这里添加断点时,它永远不会被击中。准备方法的断点正在受到打击。我在这里做错了什么?

// For an introduction to the Page Control template, see the following documentation:  
// http://go.microsoft.com/fwlink/?LinkId=232511  
(function () {  
    "use strict";  
    WinJS.UI.Pages.define("default.html", {  
        // This function is called whenever a user navigates to this page. It  
        // populates the page elements with the app's data.  
        ready: function (element, options) {  

        },

        unload: function () {
            // TODO: Respond to navigations away from this page.
        },

        updateLayout: function (element, viewState, lastViewState) {

        }
    });


})();

1 个答案:

答案 0 :(得分:1)

这有点令人困惑,但updateLayout实际上并不是一个事件处理程序。

从其他模板开始时包含的导航框架处理不同的事件(window.onresize),并调用updateLayout函数(如果存在)。例如,如果使用导航模板创建新项目,并检查navigator.js,您将看到处理onresize事件的位置,并调用updateLayout函数。

如果从Blank模板开始,此功能不到位,因此您需要(a)处理onresize事件,(b)将navigator.js添加到项目中,或者(c )使用不同的项目模板。