如何将选项传递到WinJS设置页面

时间:2013-03-05 06:54:21

标签: windows-store-apps winjs

通过选项将选项传递给常规PageControl很好,但是如何将选项传递到“设置”页面?

即。使用SettingsFlyout的设置页面仍然包含“ready: function (element, options)”事件,但您如何设置选项?导航在应用程序激活事件中设置,但似乎没有机会设置选项......

        WinJS.Application.onsettings = function ( e )
         {
            e.detail.applicationcommands =
                {
                    "about": { href: "/settings/about/about.html", title: "About" },
                };

            WinJS.UI.SettingsFlyout.populateSettings( e );
        }

2 个答案:

答案 0 :(得分:3)

就像@devhammer说的那样,你没有导航到设置页面。实际上,它是一个只显示在当前页面上的SettingsFlyout。虽然因为SettingsFlyout可以访问您的页面状态,但实际上并不需要传递任何内容。您可以在主页面中定义变量,然后在设置页面上访问它。 如果您有应用程序级别数据,则可以将某些状态添加到应用程序对象上。我所做的是默认将default.js中的var app = WinJS.Application行移动到全局范围内,这样我就可以从任何地方访问它,然后从我需要的地方使用它。 顺便说一句,不要听那些告诉你全球范围是邪恶的人。只要您了解自己在全球范围内的用途和原因,就可以使用它。

答案 1 :(得分:1)

鉴于您没有使用正常的WinJS.Navigation.navigate方法导航到该页面,我不确定您是否可以传递要添加的设置页面的标题和URI之外的任何状态。

因此,设置页面上的options参数将始终未定义。