AngularJS 视图和路由
用,我们用它设置了一个默认跳转到'/'路径的路由
低优先级指令
创建一个新的作用域;
移除上一个视图,同时上一个作用域也会被清除;
将新的作用域同当前模板关联在一起;
如果路由中有相关的定义,那么就把对应的控制器同当前作用域关联起来;
触发$viewContentLoaded事件;
如果提供了onload属性,调用该属性所指定的函数。
。
'MyController'
{}
'<div><h2>Route</h2></div>'
'views/template_name.html'
属性所指定的路径通过XHR读取视图(或者从$templateCache中读
AngularJS会将模板的内容渲染到具有ng-view指令的DOM
{
$http.get('/api').then(
response.data; },
false; }
AngularJS会将列表中的元素都注入到控制器中。如果这些依赖是
工厂,即可以是一个服务的名字,也可以是一个返回值,它是会被注入到控制器中的函
resolve会发送一个$http请求,并将data的值替换为返回结果的值。列
function(route,path,search)
AngularJS会在调用它时传入下面三个参数中:
[]).
function($routeProvider) {
'HomeController',
'views/home.html'
'InboxController',
'views/inbox.html'
'/'});
otherwise方法会在没有任何路由匹配时被调
视图的生命周期由作为一个模板开始, 它将和模型合并并最终
渲染到浏览器的DOM中。 与其他模板系统不同的是,
AngularJS使用一种独特的形式来渲染视图
HTML是声明是的, 声明式的语言适合用来编写UI。 视图不应该包含任何行
为。
因为控制器和视图没有直接的调用关系,
所以可以使多个视图对应同一个控制器。 这对“换肤” 、 适配不同设备( 比如移动设备和台式机) 、 测试, 都非常重要。
模型必须在作用域中时可以被引用, 这样才能被渲染
生成视图。 和其他框架不一样的是, Angularjs对模型本身没有任何限制和要求。
你不需要继承任何类
也不需要实现指定的方法以供调用或者改变模型。 模型可以是原生的对象哈希形式的, 也可以是完整
对象类型的。 简而言之,
模型可以是原生的Javascript对象。
用来获取页面当前的路径
$location.path();
// 返回当前路径
路由或地址
希望跳转后不能点击后退按钮, AngularJS提供了replace()
方法来实现这个功能
$location.absUrl()
$location.hash();
// 返回当前的hash片段
host() 方法用来获取URL中的主机:
$location.host();//
当前URL的主机
port() 方法用来获取URL中的端口号:
$location.port();//
当前URL的端口
protocol() 方法用来获取URL中的协议:
$location.protocol();//
当前URL的协议
search() 方法用来获取URL中的查询串:
$location.search();
//
用对象设置查询
$location.search({name:
'Ari', username: 'auser'});
$location.search('name=Ari&username=auser');
search方法可以接受两个参数
search(可选,字符串或对象)
这个参数代表新的查询参数。
hash对象的值可以是数组。
paramValue(可选,字符串)
如果search参数的类型是字符串,那么paramValue会做为该参数的值覆盖URL当中的对应
值。如果paramValue的值是null
,对应的参数会被移除掉。
url() 方法用来获取当前页面的URL:
$location.url();
// 该URL的字符串
如果调用url()
方法时传了参数,会设置并修改当前的URL,这会同时修改URL中的路径、
查询串和hash,并返回$location。
$location.url('/home?name=Ari#hashthing');
url()
方法可以接受两个参数。
url
(可选,字符串)
新的URL的基础的前缀。
replace(可选,字符串)
想要修改成的路径。
当Angular从$location服务(通过$location.path() 、 $location.search()
等)对浏览器
的地址作更新时,会触发$locationChangeStart事件。
当且仅当浏览器的地址成功变更,又没有阻止
$locationChangeStart事件的情况下,
$locationChangeSuccess事件会从$rootScope上广播出来。
资料整理,声明以上资料来源与网络
AngularJS 视图和路由的更多相关文章
- [Angularjs]视图和路由(四)
写在前面 关于angularjs的路由的概念基本上这篇就要结束了,通过学习,以及在实际项目中的实践,还是比较容易上手的.自己也通过angularjs做了一个在app上的一个模块,效果还是可以的. 系列 ...
- [Angularjs]视图和路由(二)
写在前面 上篇文章主要介绍了视图和路由的基本概念,并在文章最后举了一个简单的使用案例.这篇文章将继续学习路由的配置,及相关参数的说明. 系列文章 [Angularjs]ng-select和ng-opt ...
- [Angularjs]视图和路由(三)
写在前面 上篇文章主要介绍了路由中when方法的第二个参数,常见的几个属性,以及作用.本篇文章,将介绍和路由相关的几个常见的服务. 系列文章 [Angularjs]ng-select和ng-optio ...
- [Angularjs]视图和路由(一)
写在前面 对单页应用来讲,视图和路由的作用可以从一个视图跳转到另外一个视图,可以合理管理用户在使用过程中看到的界面. 将视图分解成布局和模版视图,并且根据用户当前访问的URL来展示对应的视图,将会是一 ...
- AngularJs多重视图和路由的使用
使用AngularJs来做多重视图和路由是在方便不过了,在开发过程中,都有许多的页面,而这些页面都有相同的部分,比如页面的头部和尾部通常都是一样的,变化的都是主体部分,还有就是一些后端管理的一些项目, ...
- AngularJS 的嵌套路由 UI-Router
AngularJS 的嵌套路由 UI-Router 本篇文章翻译自:https://scotch.io/tutorials/angular-routing-using-ui-router 演示网站请查 ...
- AngularJS ui-router (嵌套路由)
http://www.oschina.net/translate/angularjs-ui-router-nested-routes AngularJS ui-router (嵌套路由) 英文原文:A ...
- 关于AngularJs中的路由学习总结
AngularJs中的路由,应用比较广泛,主要是允许我们通过不同的url访问不同的内容,可实现多视图的单页web应用.下面看看具体怎么使用. 关于路由 通常我们的URL形式为http://jtjds ...
- [转]AngularJS ui-router (嵌套路由)
本文转自:http://www.oschina.net/translate/angularjs-ui-router-nested-routes http://www.codeproject.com/A ...
随机推荐
- Spark OOM:java heap space,OOM:GC overhead limit exceeded解决方法
问题描述: 在使用spark过程中,有时会因为数据增大,而出现下面两种错误: java.lang.OutOfMemoryError: Java heap space java.lang.OutOfMe ...
- poj 2594(可相交的最小路径覆盖)
题目链接:http://poj.org/problem?id=2594 思路:本来求最小路径覆盖是不能相交的,那么对于那些本来就可达的点怎么处理,我们可以求一次传递闭包,相当于是加边,这样我们就可以来 ...
- 圆角头像----CSS3特效
w3c:http://www.w3school.com.cn/cssref/pr_border-radius.asp 定义和用法 border-radius 属性是一个简写属性,用于设置四个 bord ...
- PHP中foreach详细解读
oreach 语法结构提供了遍历数组的简单方式.foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息.有两种语法: foreach (array_ ...
- python 中NumPy和Pandas工具包中的函数使用笔记(方便自己查找)
二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组. 用于对整组数据进行快速运算的标准 ...
- poj1840
Eqs Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 15133 Accepted: 7426 Description ...
- 【BZOJ4325】NOIP2015 斗地主 搜索+剪枝
[BZOJ4325]NOIP2015 斗地主 Description 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗 ...
- 原文来自 url get
w http://www.tuicool.com/articles/BvYbEvR http://36kr.com/p/5069371.html?utm_source=tuicool&utm_ ...
- Selenium IDE的使用
Selenium IDE 的作用 Selenium IDE 是Firefox 浏览器的一个插件, 它会记录你对Firefox的操作,并且可以回放它的操作. 在实际自动化测试中,不会用Selenium ...
- HTML页面布局
接下来的下面代码,只是给了一个大的前端编写布局,如果你已经是牛人了,就当没看到,如果是一些初学者,不妨拿去用用,里面也写了一些常用的css样式,现在虽然有很多牛逼的前段框架,用起来也非常得心应手,但是 ...