angular.js ui-route 可以实现路由嵌套
angular.js 为我们封装好了一个路由工具 ngRoute,靠url改变去驱动视图。 ui-router的优势是:一个页面可以嵌套多个视图,多个视图去控制某一个视图。 1.引入安装了bower之后 在bower.json里加入ui-router依赖: "dependencies": {
"angular": "~1.2.12-build.2226","angular-route": "~1.2.12-build.2226"
}
命令行运行 就成功安装了ui.route 2.目录结构
(1)main.html<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body ng-app="myApp">
<h1>首页</h1>
<div ui-view=""></div>
<script src="bower_components/angular/angular.min.js"></script>
<script src="bower_components/angular-ui-router/release/angular-ui-router.min.js"></script>
<script src="app.js"></script>
</body>
</html>
定义一个angular模块:myApp (2)mainTab.html<div>
<span><a ui-sref=".tab1" href="">tab 1</a></span>
<span><a ui-sref=".tab2" href="">tab 2</a></span>
<span><a ui-sref=".tab3" href="">tab 3</a></span>
</div>
<div>
<div ui-view=""></div>
</div>
三个基本标签,给他们href属性,让他们可点击。 main页为mainTab预留ui-view视图,mainTab为tab1,tab2,tab3预留视图,实现了路由嵌套。 (3)tab1.html tab2.html tab3.html//tab1.html
<h1> tab 1 </h1>
//tab2.html
<h1> tab 2 </h1>
//tab3.html
<h1> tab 3 </h1>
(4)app.js//main主页的模块myApp依赖模块ui.router
var app=angular.module('myApp',['ui.router']);
app.config(["$stateProvider","$urlRouterProvider",function($stateProvider,$urlRouterProvider){
//默认路由到mainTab
$urlRouterProvider.when('','/mainTab');
$stateProvider.state('mainTab',{
url: '/mainTab',templateUrl: 'mainTab.html'
//mainTab.tab1 即mainTab/tab1 二级嵌套
}).state('mainTab.tab1',{
url: '/tab1',templateUrl: 'tab1.html'
}).state('mainTab.tab2',{
url: '/tab2',templateUrl: 'tab2.html'
}).state('mainTab.tab3',{
url: '/tab3',templateUrl: 'tab3.html'
})
}]);
3.运行
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |