win8:通过模版创建Navigation App

简介:

Check:http://msdn.microsoft.com/en-us/library/windows/apps/hh452768.aspx

创建一个新项目,选择Navigation App作为模版。创建之后的目录:

 

  • default.html,这是起始页。它最先被加载。它包含 PageControlNavigator(将每一页加载到主窗口)的一个实例。
  • home.html,这是主页。它显示“欢迎”标题。
  • default.js,指定当启动应用时应用的行为。
  • home.js,指定与主页相关联的行为。
  • navigator.js,它能实现 PageControlNavigator 对象,该对象支持 Metro 风格应用 JavaScript 模板的导航模型。

 

  • default.css,为内容主体页面和应用整体指定 CSS 样式。
  • home.css,为主页指定 CSS 样式。

 

defaul.html 现在只相当于一个容器里,里面加载home.html。

<div id="contenthost" data-win-control="Application.PageControlNavigator" data-win-options="{home: '/pages/home/home.html'}"></div>

在pages的目录下添加目录page2,add Item ,选择Page Control。生成page2.html、page2.js 和 page2.css。 page2.js 为你预定义了一些函数,ready、unload、updataLayout。 你可以在page2安排你需要的东西。

下面进行页面跳转,你在home.html中:

            <!-- A hyperlink to page2.html. -->
            <p><a href="/pages/page2/page2.html">Go to page 2.</a></p>

只是这样的话,就只是把defaul换成page2了,如图:

我们想要的效果是:

要达到这样,就要用到WinJS.Navigation.navigated 。

在home.js中

复制代码
// home.js
(function () {
    "use strict";

    WinJS.UI.Pages.define("/pages/home/home.html", {
        // This function is called whenever a user navigates to this page. It
        // populates the page elements with the app's data.
        ready: function (element, options) {
            // TODO: Initialize the page here.
            WinJS.Utilities.query("a").listen("click", linkClickEventHandler, false); //绑定Handler
        
        }
    });

    function linkClickEventHandler(eventInfo) {
        eventInfo.preventDefault();//阻止默认的跳转
        var link = eventInfo.target;
        WinJS.Navigation.navigate(link.href);
    }


})();
复制代码

 

也可以利用button跳转,Check:http://msdn.microsoft.com/zh-cn/library/windows/apps/hh920268.aspx

在home.html中

<button class="navButton" title="Nav" >Next Page</button>

home.js

复制代码
WinJS.UI.Pages.define("/pages/home/home.html", {
    // . . .
    ready: function (element, options) {
        // . . .
    },
        
    nextPage: function () {
        WinJS.Navigation.navigate("/pages/page2/page2.html");
    }
});
复制代码

继续在home.js 的ready中添加

复制代码
ready: function(element, options) {
  // TODO: Initialize the fragment here.
  var elem = element.querySelector('.navButton');
  elem.addEventListener('click', this.nextPage.bind(this));
}
复制代码

Done!

 

 

 

 

这样就完成了利用模版创建导航界面的demo。

   
本文转自老Zhan博客园博客,原文链接:http://www.cnblogs.com/mybkn/archive/2012/09/24/2700620.html ,如需转载请自行联系原作者
相关文章
【win8技巧】应用商店里面如何搜索应用app
win8应用商店搜索app软件的技巧   1、组合键 WIN+C 打开屏幕最右边磁条 2、点击搜索,输入你想搜的软件名称,里面会列出你已经安装的app或者你点击下面的应用商店选项,就可以搜索互联网上应用商店里面的app应用。
946 0
|
1月前
|
移动开发 小程序
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
如何让uni-app开发的H5页面顶部原生标题和小程序的顶部标题不一致?
|
2月前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
108 3
|
2月前
|
Android开发 开发者 UED
个人开发 App 成功上架手机应用市场的关键步骤
个人开发 App 成功上架手机应用市场的关键步骤
|
2月前
|
开发工具 数据安全/隐私保护 Android开发
【教程】APP 开发后如何上架?
【教程】APP 开发后如何上架?
|
2月前
|
API
uni-app 146朋友圈列表api开发
uni-app 146朋友圈列表api开发
19 0
|
4天前
|
Web App开发 数据采集 移动开发
开发uniapp过程中对app、微信小程序与h5的webview调试
开发uniapp过程中对app、微信小程序与h5的webview调试
11 1