要清楚網格項目模板中的三個頁面爲groupedItems
(「集線器」),groupDetail
(「部分」)和itemDetail
(「細節」)。我其實希望他們能將這些頁面命名爲「hub」,「section」和「detail」。
如果您正在討論具有多個項目模板,以便輪轂(groupedItems)頁面上的項目切片根據項目類型而不同,那麼最簡單的方法是提供多個項目模板(WinJS.Binding.Template ),然後編寫一個自定義模板選擇功能。這並不困難。你可以看到一個例子,如果你看我的codeSHOW應用程序(codeshow.codeplex.com)...看到home.js頁面。源代碼在線,所以你可以看到該頁面here。
如果您正在討論具有多個詳細信息(itemDetail)頁面,以便當用戶從集線器上點擊某個項目時,它們可能會被帶到關於手機和打印機的整個頁面信息,那就是簡單地說就是擁有多個頁面並能夠智能地瀏覽您導航到的頁面。如果用戶點擊集線器中的電話,則可以導航到/pages/phone/phone.html。如果他們點擊打印機,然後導航到/pages/printer/printer.html。最後,如果您的實體(即電話和打印機)足夠相似,那麼您可能希望保留一個頁面來表示它們,並且使該頁面足夠聰明以修改其正確項目的模板。在這種情況下,您可以在頁面上創建兩個模板(再次使用WinJS.Binding.Template),並在實體被傳遞到頁面(ready(element,options)
的「選項」部分)時,您只需檢查它並查看實體類型(即電話或打印機),然後將數據渲染到正確的模板中。 codeSHOW上的Binding and Templating和Fragments and Pages演示可能對此有所幫助。
如果您需要更多幫助,您可以與Microsoft Developer Evangelist一起安排一些其中的一對一活動,時間爲usdpe.ohours.org。玩的開心!
我在說有多個'itemDetail'頁面。你有沒有任何示例代碼與WinJS庫,顯示這個「智能頁面導航」?但是,您對項目之間的相似性有很好的理解,所以我應該在必要時使用不同的HTML標記在項目詳細信息中放入大量代碼?這看起來不是很有效。 – 2013-03-12 21:02:14
如果您只是使用導航模板創建一個新項目,那麼您將獲得導航框架。不幸的是,你只能得到一個頁面(「home」),所以你不會找到任何對WinJS.Navigation.navigate()方法的使用。如果您只是在開發中心(dev.windows.com)中查找該方法,您會發現一些示例。 – 2013-03-18 16:15:20