1. 路由(ui-router)

1.1. 环境

1) angular.min.js

2) angular-ui-router-0.2.10.js

3) 确保确保包含ui.router为模块依赖关系.

4) var app=angular.module("app",['ui.router']);

1.1. 视图激活方式

1) $state.Go():优先级较高的便利方式

2) ui-sref:点击包含此指令跳转

3) url:url导航

1.2. 多视图

Views:

使用views属性设置多个视图。如果在单一状态下不需要多个视图,则不需要此属性。提示:请记住,通常嵌套视图比多个兄弟视图更有用和更强大。

代码:准备四个页面  主页面和三个子页面

主页面

<!DOCTYPE html>
<html ng-app="app">
<head>
<title>多视图</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="plugins/bootstrap/css/bootstrap.min.css"
type="text/css"></link>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">柳絮飞祭奠</a>
</div>
<div>
<ul class="nav navbar-nav">
<li><a ui-sref="index2">onepage</a></li>
<li><a ui-sref="index1">twopage</a></li>
</ul>
</div>
</div>
</nav>
</div>
<div ui-view></div>
<div ui-view="index1"></div>
<div ui-view="index2"></div>
</body>
<script type="text/javascript"
src="plugins/angular/angular.min-1.4.6.js"></script>
<script type="text/javascript" src="plugins/angular/angular-ui-router-0.2.10.js"></script>
<script type="text/javascript">
var app=angular.module("app",['ui.router']);
app.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
$stateProvider.state('index1', {
url : '/index1',
views:{
"index1":{
templateUrl: '/CeShi/lx/uiroute/index1.html'
},
"index2":{
templateUrl : '/CeShi/lx/uiroute/index2.html'
}
}
}).state('index2', {
url : '/index2',
templateUrl: '/CeShi/lx/uiroute/index3.html'
});
$urlRouterProvider.otherwise('/index2');
}]).config(function($sceProvider){
$sceProvider.enabled(false);
});
</script>
</html>

三个子页面index1.html,index2.html,index3.html分别为

<h1>我是视图一</h1>

<h1>我是视图二</h1>

<h1>我是视图三</h1>

效果为





1.3.嵌套视图

依旧四个页面一个主页面一个子页面两个嵌套页面



主页面

<!DOCTYPE html>
<html ng-app="app">
<head>
<title>嵌套视图</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../../plugins/bootstrap/css/bootstrap.min.css" type="text/css"></link>
</head>
<body>
<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">柳絮飞祭奠</a>
</div>
</div>
</nav>
</div>
<div ui-view></div>
</body>
<script type="text/javascript" src="../../plugins/angular/angular.min-1.4.6.js"></script>
<script type="text/javascript" src="../../plugins/angular/angular-ui-router-0.2.10.js"></script>
<script type="text/javascript">
var app=angular.module("app",['ui.router']);
app.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
$stateProvider.state('index2', {
url : '/index2',
templateUrl : '/Angular/uiview/nested/index2.html'
}).state('index2.one',{
url:'/nested',
templateUrl: '/Angular/uiview/nested/index1.html'
}).state('index2.two',{
url:'/nested',
templateUrl: '/Angular/uiview/nested/index3.html'
});
$urlRouterProvider.otherwise('/index2');
}]).config(function($sceProvider){
$sceProvider.enabled(false);
});
</script>
</html>

子页面

<div class="container">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">柳絮飞祭奠</a>
</div>
<div>
<ul class="nav navbar-nav">
<li class="active"><a ui-sref="index2.one">onepage</a></li>
<li><a ui-sref="index2.two">twopage</a></li>
</ul>
</div>
</div>
</nav>
</div>
<div ui-view></div>

嵌套页面

<h1>我是视图一</h1>

<h1>我是视图三</h1>

效果:



AngularJS实战之路由ui-view的更多相关文章

  1. [置顶] AngularJS实战之路由ui-sref-active使用

    当我们使用angularjs的路由时,时常会出现一个需求,当选中菜单时把当前菜单的样式设置为选中状态(多数就是改变颜色) 接下来就看看Angular-UI-Router里的指令ui-sref-acti ...

  2. AngularJS实战之路由ui-view传参

    angular路由传参 首页 <!DOCTYPE html> <html ng-app="app"> <head> <title>路 ...

  3. AngularJS实战之Controller之间的通信

    我们时常会在不同controller之间进行通信,接下来就介绍三种controller之间的通信方式 一.使用$on.$emit和$broadcast进行controller通信 虽然AngularJ ...

  4. AngularJS 的嵌套路由 UI-Router

    AngularJS 的嵌套路由 UI-Router 本篇文章翻译自:https://scotch.io/tutorials/angular-routing-using-ui-router 演示网站请查 ...

  5. AngularJS ui-router (嵌套路由)

    http://www.oschina.net/translate/angularjs-ui-router-nested-routes AngularJS ui-router (嵌套路由) 英文原文:A ...

  6. [转]AngularJS ui-router (嵌套路由)

    本文转自:http://www.oschina.net/translate/angularjs-ui-router-nested-routes http://www.codeproject.com/A ...

  7. 关于AngularJs中的路由学习总结

    AngularJs中的路由,应用比较广泛,主要是允许我们通过不同的url访问不同的内容,可实现多视图的单页web应用.下面看看具体怎么使用. 关于路由  通常我们的URL形式为http://jtjds ...

  8. Ⅲ.AngularJS的点点滴滴-- 路由

    路由ngRoute (需要依赖ngRoute模块) <html> <script src="http://ajax.googleapis.com/ajax/libs/ang ...

  9. 《AngularJs实战》学习笔记(慕课网)

    1. Controller使用过程中的注意点 不要试图去复用Controller, 一个控制器一般只负责一小块视图 不要在Controller中操作DOM, 这不是控制器的职责. 封装在指令里. 不要 ...

随机推荐

  1. tableViewCell上的定时器拖动阻塞

    if (_timer == nil) { _timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@sele ...

  2. SparseArray

    使用SparseArray更加节省内存空间的使用,SparseArray也是以key和value对数据进行保存的.使用的时候只需要指定value的类型即可.并且key不需要封装成对象类型.   Has ...

  3. connot connect to mysql 10061

    根据我自己运行的情况,解决方法如下: 按windows+R, 输入services.msc查找服务,在服务与应用中找到MYsql服务,查看是否已启动.

  4. powerdesigner中实现PDM到MYSQl数据库的转换

    一.使用PowerDesigner制作建库脚本 1.设计CDM(Conceptual Data Model) 2.选择 Tools -> Generate Physical Data Model ...

  5. 转 C++函数返回值,你必须注意的问题

    归根结底,C++所面临的问题要求它提供各种各样的机制以保证性能,也许,这辈子也见不到C++能安全有效的自己进行内存垃圾回收..... 老程序猿都会提醒菜鸟,注意函数的返回值,因为,很可能,你的函数返回 ...

  6. 未能找到 CodeDom 提供程序类型“Microsoft.VJSharp.VJSharpCodeProvider,

    错误 1 未能找到 CodeDom 提供程序类型“Microsoft.VJSharp.VJSharpCodeProvider, VJSharpCodeProvider, Version=2.0.0.0 ...

  7. BUG(0):用某位表示特定属性

    用某个bit表示特定属性通常有两种方式: 1.指定某个特定的value #define _PAGE_VALID 0x0001 0bit 为 1 时表示此时的page entry是有效的 用法如下,此时 ...

  8. HTTP 1.0 Status Code Definitions

    part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 10 Status Code Definitions ...

  9. InputMethodManagerService处理输入法——监听APK变动

    android\frameworks\base\services\java\com\android\server\InputMethodManagerService.java public Input ...

  10. 关于js的function.来自百度知道的回答,学习了.

    在js中,创建一个函数对象的语法是var myFunction = new Function(arg1,…,agrN, body);其中,该函数对象的N个参数放在 函数主体参数body的前面,即函数主 ...