Angular.js之Router学习笔记
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>angularRouter</title>
</head>
<body>
<!--1:-->
<div ng-app="mymodule">
<!--通过ui-view属性指定路由模板的填充地点-->
<div ui-view></div>
</div>
<!--2:-->
<div ng-app="mymodule2">
<a href="" ui-sref="main">The first page </a>
<a href="#/list">The page of list </a>
</div>
<!--3:-->
<div ng-app="mymodule3">
<div ui-sref="index">The first page</div>
<div ui-sref="list">The page of list</div>
<div ui-view></div>
</div>
<!--4:-->
<div ng-app="mymodule4" ng-controller="ctrl4">
<a href="" ui-sref="main">The first page </a>
<a href="#/list">The page of list </a>
<div ui-view></div>
</div>
<!--5:-->
<div ng-app="mymodule5" ng-controller="ctrl5">
<a href="" ui-sref="main">The first page </a>
<a href="" ui-sref='list'>The page of list </a>
<div ui-view></div>
</div>
<!--6:-->
<div ng-app="mymodule6" ng-controller="ctrl6">
<a href="" ui-sref="main">The first page </a>
<a href="" ui-sref='list'>The page of list </a>
<div ui-view></div>
</div>
<script src="http://cdn.bootcss.com/angular-ui-router/0.4.2/angular-ui-router.js"></script>
<script src="http://cdn.bootcss.com/angular.js/1.4.6/angular.js"></script>
<script type="text/javascript">
/*Angular.js之Router:
1:uiRouter默认路由规则操作;路由一定是在控制器之上定义!a:继承ui.router模块;b:配置路由规则,依赖注入:$stateProvider/$urlRouterProvider两个服务;c:指定ui-view位置,确定路由模板显示位置
2:uiRouter链接上实现路由跳转方式:a:在a链接的href中指定路由规则中定义的url地址。b:在ui-sref属性中指定路由规则中定义的规则名称
3:uiRouter路由模板设置方式
4:uiRouter路由控制器使用方式:可以在路由中定义控制器controller,也可以在外部定义好,将controller属性定义为外部控制器的名称即可。
5:uiRouter路由控制器或指令中执行路由跳转,借助$state服务的go方法,只需将要跳转的路由名称传入该方法即可
6:uiRouter路由参数设置和$stateParams服务的使用,获取路由地址中的参数值,需要借助$stateParams服务,步骤:->路由地址中指定接收的参数->模板URL地址生成时,传入参数值->通过$stateParams服务获取参数值
7:uiRouter路由定义高效的父子嵌套路由:两种方式:第一种给路由名称添加命名空间,第二种给路由添加parent属性;模板中也需要指定ui-view,用来显示子视图
8:uiRouter路由定义超灵活的嵌套路由:给每个ui-view设置一个名称,当发生跳转时,给所有的ui-view都指定显示的模板,
9:uirouter路由多个view下的父子级视图嵌套使用:@符号指向父级ui-view视图标签;son@main:指定的是main视图下的son子视图*/
/*1:uiRouter默认路由规则操作;路由一定是在控制器之上定义!a:继承ui.router模块;b:配置路由规则,依赖注入:$stateProvider/$urlRouterProvider两个服务;c:指定ui-view位置,确定路由模板显示位置*/
let mymodule=angular.module('mymodule',['ui.router']);
//配置路由规则
mymodule.config(['$stateProvider','$urlRouterProvider',function($state,$urlRouter){
//定义路由规则
$state.state('default',{
url:'',
template:'<h1>welcome to puDong store !</h1>'
});
$urlRouter.otherwise('');
}]);
/*2:uiRouter链接上实现路由跳转方式:a:在a链接的href中指定路由规则中定义的url地址。b:在ui-sref属性中指定路由规则中定义的规则名称*/
//继承ui.router
let mymodule2=angular.module('mymodule2',['ui.router']);
//配置路由规则
mymodule2.config(['$stateProvider','$urlRouterProvider',function($state,$urlRouter){
//定义路由规则
$state.state('default',{
url:'',
template:'<h1>welcome to puDong store !</h1>'
}).state('main',{
url:'/index',
template:'<h2>This is a main page !</h2>'
}).state('list',{
url:'/list',
template:'<h2>This is a page of list !</h2>'
});
$urlRouter.otherwise('');
}]);
/*3:uiRouter路由模板设置方式*/
var mymodule3=angular.module('module3',['ui.router']);
mymodule3.config(['$stateProvider','urlRouterProvider',function($state,$urlRouter){
$state.state('default',{
url:'',
template:'<h1>welcome to puDong store !</h1>'
}).state('index',{
url:'/index',
template:''
}).state('list',{
url:'/list',
template:'<h2>This is a page of list !</h2>'
});
$urlRouter.otherwise('');
}]);
/*4:uiRouter路由控制器使用方式:可以在路由中定义控制器controller,也可以在外部定义好,将controller属性定义为外部控制器的名称即可。*/
var mymodule4=angular.module('module4',['ui-router']);
mymodule4.config(['$stateProvider','urlRouterProvider',function($state,$urlRouter){
$state.state('default',{
url:'',
template:'<h1>welcome to puDong store !</h1>'
}).state('index',{
url:'/index',
templateUrl:'router4.html',
/*controller:['$scope',function($scope){
$scope.title='puDong store';
}]*/
controller:'ctrl4'
}).state('list',{
url:'/list',
template:'<h2>This is a page of list !</h2>'
});
$urlRouter.otherwise('');
}]);
mymodule4.controller('ctrl4',['$scope',function($scope){
$scope.title='puDong store';
}])
/*5:uiRouter路由控制器或指令中执行路由跳转,借助$state服务的go方法,只需将要跳转的路由名称传入该方法即可*/
var mymodule5=angular.module('module5',['ui-router']);
mymodule5.config(['$stateProvider','urlRouterProvider',function($state,$urlRouter){
$state.state('default',{
url:'',
template:'<h1>welcome to puDong store !</h1>'
}).state('index',{
url:'/index',
templateUrl:'router5.html',
controller:'ctrl5'
}).state('list',{
url:'/list',
template:'<h2>This is a page of list !</h2>'
});
$urlRouter.otherwise('');
}]);
mymodule5.controller('ctrl5',['$scope','$state',function($scope,$state){
$scope.go=function(){
$state.go('list');
}
}])
/*6:uiRouter路由参数设置和$stateParams服务的使用,获取路由地址中的参数值,需要借助$stateParams服务,步骤:->路由地址中指定接收的参数->模板URL地址生成时,传入参数值->通过$stateParams服务获取参数值*/
var mymodule6=angular.module('module6',['ui-router']);
mymodule6.config(['$stateProvider','urlRouterProvider',function($state,$urlRouter){
$state.state('default',{
url:'',
template:'router6.html',
controller:'ctrl6'
}).state('list',{
url:'/list/{id}',
template:'<p>UserName:{{user.name}}</p>',
controller:'ctrl6'
});
$urlRouter.otherwise('/list');
}]);
mymodule6.controller('ctrl6',['$scope','$http','$stateParams',function($scope,$http,$stateParams){
$http({
method:'get',
url:'http://localhost/ajax.php',
cache:true,
}).then(function(res){
$scope.data=res.data;
let id=$stateParams.id;
if(id){
$scope.data.forEach(function(v){
if(v.id==id) $scope.user=v;
});
}
});
}]);
</script>
</body>
</html>
Angular.js之Router学习笔记的更多相关文章
- 关于Angular.js Routing 的学习笔记(实现单页应用)
最近开始学习angular.js,发现angular.js确实很方便,也很强大.在看到 AngularJS Routing and Multiple Views 这一部分的时候,有点乱.现在通过记录一 ...
- Angular.js之指令学习笔记
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
- 【09-23】js原型继承学习笔记
js原型继承学习笔记 function funcA(){ this.a="prototype a"; } var b=new funcA(); b.a="object a ...
- Underscore.js 源码学习笔记(下)
上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...
- Underscore.js 源码学习笔记(上)
版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}()); 这样的东西,我们应该知道这是一个 IIFE(立即执行 ...
- 浏览器中js执行机制学习笔记
浏览器中js执行机制学习笔记 RiverSouthMan关注 0.0772019.05.15 20:56:37字数 872阅读 291 同步任务 当一个脚本第一次执行的时候,js引擎会解析这段代码,并 ...
- 纯JS实现KeyboardNav(学习笔记)一
纯JS实现KeyboardNav(学习笔记)一 这篇博客只是自己的学习笔记,供日后复习所用,没有经过精心排版,也没有按逻辑编写 GitHub项目源码 预览地址 最终效果 KeyboardNav使用指南 ...
- 纯JS实现KeyboardNav(学习笔记)二
纯JS实现KeyboardNav(学习笔记)二 这篇博客只是自己的学习笔记,供日后复习所用,没有经过精心排版,也没有按逻辑编写 这篇主要是添加css,优化js编写逻辑和代码排版 GitHub项目源码 ...
- Angular.js 以及个人学习网站
Angular.js 教程 http://www.360doc.com/content/14/0414/15/14416931_368816305.shtml web前端学习: 慕课网:http:/ ...
随机推荐
- IOC:AutoFac使用demo
使用autofac 实现依赖注入 1.引用 autofac.dll 和 autofac.configuration.dll 2.新增接口 IDAL using System; using System ...
- windows系统下安装Scala
一.下载.msi文件 直接下一步安装 二.配置环境变量 1.环境变量 -->> 用户变量 -->> 新建 SCALA_HOME: D:\Program Files\scala ...
- linux设置好IP后,可以访问内网,不能访问外网
1,设置网卡,ip vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为et ...
- python查询mysql中文乱码问题
python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 --- 可能情况: 1.mysql数据库各项没有设置编码,默认为'latin' 2.使用MySQL.connect的时候没有设 ...
- 12.TCP的成块数据流
1.滑动窗口协议 TCP滑动窗口的可视化表示 我们将字节从1到11进行标号,接收方通告的窗口称为提供的窗口,它覆盖了第4字节到第9字节的数据,且通告窗口大小为6.发 ...
- iOS 之 CALayer与UIView的区别
最大区别:CALayer (图层)不会直接渲染到屏幕上. UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它.它本身完全是由CoreAnimation来实现的. 真正的绘图部分,是由一 ...
- ImageView及其子类(三)
实例:使用QuickContactBadge关联联系人 QuickContactBadge继承了ImageView,因此它的本质也是图片,也可以通过android:src属性指定他显示的图片 ...
- U盘为什么还有剩余空间,但却提示说空间不够
你的U盘是FAT32格式,它只支持单一小于4G的文件复制,将U盘改为NTFS格式,可以解决题.方法:开始——运行,输入“cmd”,回车,在命令符后输入:convert h: /fs:ntfs,回车(假 ...
- UED大全
http://www.baiduux.com/ 百度UFOhttp://ued.sohu.com/ 搜狐UEDhttp://ued.taobao.com/ 淘宝UEDhttp://www.ued ...
- Linux安装配置VPN服务器
一.实验简介 VPN ,中文翻译为虚拟专有网络,英文全称是 Virtual Private Network .现在 VPN 被普遍定义为通过 一个公用互联网络建立一个临时的.安全的连接,是一条穿过混乱 ...