天天看點

Windows 8.1 應用再出發 (WinJS) - 建立一個簡單項目

前面幾篇我們介紹了如何利用 C# + XAML 完成Windows Store App 功能的實作,接下來的幾篇我們來看看如何利用 Html + WinJS 來完成這些功能。

本篇我們使用WinJS 來建立一個簡單的項目,來看看項目的構成是怎樣的,與C#,XAML 的項目有哪些異同。

首先我們在Visual Studio 2013中選擇模闆 -> JavaScript -> Windows 應用商店來建立一個空白應用程式,來看看項目的構成(為友善對照,我在右邊放了使用XAML的商店應用截圖)

Windows 8.1 應用再出發 (WinJS) - 建立一個簡單項目
Windows 8.1 應用再出發 (WinJS) - 建立一個簡單項目

WinJS項目裡沒有Properties目錄去描述程式集的資訊

引用目錄包含了應用中需要的程式包,如圖中的Windows Library中包含了我們需要的js 和 css

css目錄存放頁面使用的css檔案,如圖中的default.css檔案會在default.html中使用

同樣的,js目錄中存放的是js檔案,default.js會在default.html中使用

images目錄類似于XAML項目中的Assets目錄,存放磁貼和啟動頁圖檔等資源

default.html 是程式的起始頁,類似XAML項目的入口點

package.appxmanifest 是清單檔案,負責設定應用名稱、起始頁、磁貼、功能、聲明等等。

有一個地方需要注意,那就是應用程式頁籤中 入口點 變成了 起始頁 ,熟悉BS開發的同學們肯定不會對起始頁陌生。

下面來看看起始頁 default.html:

這是一個很簡單的html構成,我們看到檔案中添加了對WinJS 和 針對起始頁的 default.js 和 default.css 的引用。

來看看default.js:

我們看到,該檔案中有兩個很重要的方法,app.onactivated 和 app.oncheckpoint,分别進行應用激活和挂起時的處理。類似XAML中的 OnLaunched 和 OnSuspending。

大家注意 args.setPromise(WinJS.UI.processAll()); 的意思是在onactivated完成之前,完成 WinJS.UI.processAll() 的操作。而這個操作的意思是把聲明的控件綁定到所有元素上,并且在指定的根元素啟動。

如果我們想在default.html頁加載時跳轉到我們指定的頁面,比如main.html,需要做哪些動作呢?

首先我們建立 main.html 相關檔案,main.html、main.js 和 main.css,路徑為pages/main,接下來完成跳轉我們有兩種方式:

(1). 在default.html 裡指定跳轉頁面

 先對default.js做如下修改

上面定義了兩個變量,在下面的onactivated方法中加入以下代碼來替換 args.setPromise(WinJS.UI.processAll());

然後在default.html 頁面的body中加入

這樣就可以在啟動時,指定顯示main.html 了。

(2). 在default.js 裡指定跳轉

對default.js做如下修改

定義nav變量,下面onactivated方法中加入如下代碼替換  args.setPromise(WinJS.UI.processAll());

然後加入下面方法

最後在default.html 檔案中加入

 這樣也完成了啟動時的頁面跳轉到main.html 的要求。

 好了,到這裡我們就利用WinJS 和 Html 完成了簡單項目的建立,接下來我們利用WinJS示範XAML中介紹過的其他功能,謝謝。

繼續閱讀