本文實例講述了AngularJS路由Ui-router模塊用法。分享給大家供大家參考,具體如下:
由于某些設計原因,AngularJS原生的路由模塊有一些缺點,比如說不支持view的嵌套等,所以有許多社區開始自己設計路由模塊,最有代表性的就是ui-route了。
ui-route是一個功能強大的路由模塊,它在原生的ng-route模塊上加強了其他方面的功能。
現在就開始做幾個DEMO接觸一下ui-route。
<!--初始頁面--><!doctype html><meta charset="UTF-8"><html><head> <link href="self.css" rel="external nofollow" rel="stylesheet"></head><body ><div ng-app="myApp"><div><a ui-sref = "index">首頁</a></div><div ui-view></div><!--這里是路由視圖存放的地方--></div><script src="angular.min.js"></script><script src="angular-ui-router.js"></script><script src="test2.js"></script></body></html>
首先必須引用angular-ui-router.js文件。這個文件是區別于AngularJs的angular-route.js文件的。而且必須把該文件放在angular.min.js下面。
觀察一下Html的body代碼,可以發現有三個地方與使用原生的ng-route時的body代碼不同。他們分別是ui-sref , index 以及ui-view 。先跳過,看一下如何初始化ui-route模塊。
初始化ui-route模塊:
var app = angular.module('myApp',['ui.router']);app.config(["$stateProvider",function($stateProvider){ $stateProvider .state("index",{ url:'/', template:'<div>我是首頁內容</div>' })}]);首先,和原生ng-route路由模塊相似的是,必須先把ui-route注入。然后再進行具體的配置。與原生的ng-route不同的是,ui-route用state() 代替了原生的when() ,它在when(),的基礎上新增了一個參數,這里是index,用以區分這部分路由對哪一個命令進行響應。
回到之前的<div><a ui-sref = "index">首頁</a></div> ,大概就知道他們視圖和它之間的關系了。ui-view 代替了以往的ng-view ,ui-sref 替換掉了以前的ng-href,而它也不再是指向鏈接,而是指向“導航”的名字。
其中的url屬性可以唯一標識改路由的后續地址,用以跟后面的路由進行區分。
更多關于AngularJS相關內容感興趣的讀者可查看本站專題:《AngularJS指令操作技巧總結》、《AngularJS入門與進階教程》及《AngularJS MVC架構總結》
希望本文所述對大家AngularJS程序設計有所幫助。
新聞熱點
疑難解答