2013-03-05 48 views
0

通過選項將選項傳遞給常規PageControl是好的,但是如何將選項傳遞到設置頁面?如何將選項傳遞給WinJS設置頁面

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

回答

3

像@ devhammer說的,你沒有導航到設置頁面。實際上,這是一個僅在當前頁面上顯示的SettingsFlyout。實際上並不需要傳遞任何東西,因爲SettingsFlyout可以訪問頁面的狀態。您可以在主頁面中定義一個變量,然後在設置頁面上訪問它。 如果您有應用程序級別的數據,則可以將某些狀態添加到應用程序對象中。我所做的是將默認的default.js中的var app = WinJS.Application行移入全局範圍,以便我可以從任何地方訪問它,然後從我需要的地方使用它。順便說一下,不要聽那些告訴你全球範圍是邪惡的人。只要你意識到你在全球範圍內投入了什麼,爲什麼,使用它就好了。

+0

謝謝。這就說得通了。我有一個全局應用程序對象,我可以放入一些東西。 – peterorum 2013-03-06 04:26:55

1

既然你不使用正常WinJS.Navigation導航到該頁面。導航方法,我不確定你可以傳遞任何超出你想添加的設置頁面的標題和URI的狀態。

因此,設置頁面上的options參數將始終未定義。