0

オプションを介して通常の 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 );
        }
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 に答える