關鍵的地方在這裏. (ui-sref) 咱們須要再一次修改 PageTab.html,以下所示.,
<div> <div> <span style="width:100px" ui-sref=".Page1"><a href="">Page-1</a></span> <span style="width:100px" ui-sref=".Page2"><a href="">Page-2</a></span> <span style="width:100px" ui-sref=".Page3"><a href="">Page-3</a></span> </div> <div> <div ui-view=""/> </div> </div>
注意,只是上面高亮的部分發生了改變 , 這裏咱們只是簡單的將App.js中定義的狀態同tab中定義的對應文本進行了關聯. 當咱們使用點符號對它進行了聲明,程序就會認爲頁面時ui-view中的子頁面或者說嵌入頁面,它們就是路由配置中須要被展現的頁面.
如今,咱們要看看目前爲止咱們討論過的那些頁面的內容了.
Main.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script src="Scripts/angular.js"></script> <script src="Scripts/angular-ui-router.js"></script> <script src="App.js"></script> </head> <body data-ng-app="myApp"> <h1>AngularJS Home Page (Ui-router Demonstration)</h1> <div data-ui-view=""></div> </body> <html>
PageTab.html
<div> <div> <span style="width:100px" ui-sref=".Page1"><a href="">Page-1</a></span> <span style="width:100px" ui-sref=".Page2"><a href="">Page-2</a></span> <span style="width:100px" ui-sref=".Page3"><a href="">Page-3</a></span> </div> <div> <div ui-view=""/> </div> </div>
Page1.html
<div> <div> <h1>Page 1 content goes here...</h1> </div> </div>
Page2.html
<div> <div> <h1>Page 1 content goes here...</h1> </div> </div>
Page2.html
<div> <div> <h1>Page 1 content goes here...</h1> </div> </div>
App.js
var myApp = angular.module("myApp", ['ui.router']); myApp.config(function ($stateProvider, $urlRouterProvider) { $urlRouterProvider.when("", "/PageTab"); $stateProvider .state("PageTab", { url: "/PageTab", templateUrl: "PageTab.html" }) .state("PageTab.Page1", { url:"/Page1", templateUrl: "Page1.html" }) .state("PageTab.Page2", { url:"/Page2", templateUrl: "Page2.html" }) .state("PageTab.Page3", { url:"/Page3", templateUrl: "Page3.html" }); });
一切OK,如今讓咱們把這個應用程序運行起來吧.