0

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

ie 使用 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 );
        }
4

2 回答 2

3

就像@devhammer 所说,您没有导航到设置页面。事实上,它只是显示在您当前页面上的 SettingsFlyout。但是实际上不需要传递任何东西,因为 SettingsFlyout 将可以访问您页面的状态。您可以在主页中定义一个变量,然后在设置页面上访问它。如果您有应用程序级别的数据,您可以在应用程序对象上添加一些状态。我所做的是将var app = WinJS.Application默认情况下位于 default.js 中的行移动到全局范围内,以便我可以从任何地方访问它,然后在需要的地方使用它。顺便说一句,不要听那些告诉你全局范围是邪恶的人。只要您知道要在全局范围内放置什么以及原因,就可以使用它。

于 2013-03-05T16:26:36.093 回答
1

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

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

于 2013-03-05T16:18:40.263 回答