angular -- $route API翻译

$route

-$routeProvider服务

-依赖ngRoute模块

$route能够在路径发生改变的时候,渲染不同的视图,调用不同的控制器.它监测了$location.url(),然后根据路径来匹配相应的路由,路由的定义方法详见$routeProvider的API.

$route通常和$routeProvider服务和ngView指令一起使用

依赖:

$location
$routeParams

方法:

reload()

在路由没有改变的时候,再次加载当前路径的路由,重新渲染ng-view,实例化一个控制器

事件:

$routeChangeStart

在路由变化之前被触发,在这个时间点上,路由服务会resolve所有的路由变化所需要的依赖(详见$routeProvider),以及获取需要被渲染的视图模板,已经解析所有加载新路由所需要的依赖.当所有的依赖都被解析以后,$routeChangeSuccess事件就会被触发

类型: broadcast

目标元素: root scope(即在根作用域内绑定)

$routeChangeSuccess

在所有路由依赖被解析完成后触发,ng-view会根据指令实例化控制器,渲染视图

类型: broadcast

目标元素: root scope

$routeChangeError

当解析路由依赖时,promise对象没有正常解析,而是reject出错的时候被触发. (详见$q)

类型: broadcast

目标元素: root scope

$routeUpdate

reloadOnSearch属性设置为false,再次使用相同的控制器实例

这个属性在$route.current.$route对象里

类型: broadcast

目标元素: root scope

属性:

(以下这段不是翻译,胜似翻译)

$route对象共有三个属性:

1.current

current对象又有以下几个属性:

①$route:

$route对象包含controller属性: 当前视图的控制器

$route对象包含reloadOnSearch属性: 见上

$route对象包含resolve属性: 需要被解析的依赖(还没有解析)

$route对象包含templateUrl属性: 视图模板路径

②locals:

locals对象包含$scope属性: 当前作用域

locals对象包含$template属性: 视图模板的内容

locals对象还包含已经解析完的依赖(在这里就是recipe属性)

③params:

当前路径的参数对象

④pathParams:

也是当前路径的参数对象(区别不详)

2.reload方法

3.routes对象:

routes对象包含了当前单页应用的所有路由规则,每个路由规则所对应的视图模板,控制器,依赖,以及reloadOnSearch属性

这里是一个$route的demo,这个demo故意延迟路由的resolve的解析时间,

通过这个demo可以看到,分析下面这几项的变化情况:

$location.path():

路由一变化就随之变化,获取新的url

$route.current.templateUrl:

路由一变化就随之变化,获取新路由的模板url

$route.current.params:

路由一变化就随之变化,获取新路由的模板url的参数

$route.current.scope:

路由一变化,它会成为空,等到路由变化完成,再把新路由的作用域赋给它

$routeParam:

路由一变化,它不会变为空,会保持上一次路由变化,等到路由变化完成,再把新路由url参数赋给它

视图:

路由变化完成后进行渲染

demo地址:

https://github.com/OOP-Code-Bunny/angular/tree/master/%24route

angular -- $route API翻译

时间: 2024-10-27 12:22:53

angular -- $route API翻译的相关文章

angular -- $routeParams API翻译

原api出处: https://docs.angularjs.org/api/ngRoute/service/$routeParams $routeParams 可以获取当前路径参数. 需要ngroute模块被安装. 路径参数是$location.search()和$location.path()的组合. 当$route被匹配的时候,路径参数就会被获取. 在参数名称冲突的情况下,路径参数优先于搜索参数. $routeParams服务保证当路由发生变化时,$routeParams对象的id不会变化

IOS---UICOLLECTIONVIEW详解和常用API翻译

IOS---UICOLLECTIONVIEW详解和常用API翻译 UICollectionView 1.必须要设置布局参数 2.注册cell 用法类似于UITableView 类.自动实现重用,必须注册初始化. 使用UICollectionView必须实现UICollectionViewDataSource,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout这三个协议. Collection View的构成,我们能看到的有三个部

iOS开发-NSData全部API翻译学习

学习NSData,发现网上资料比较零碎,还是苹果官方文档比较全面细致,非常适合集中学习,以下是NSData全部API翻译,欢迎转载学习. /**************** Immutable Data 不可变的Data ****************/ @interface NSData : NSObject <NSCopying, NSMutableCopying, NSSecureCoding> //6.获取data长度的属性 @property (readonly) NSUInteg

蓝牙API翻译____①_____android.bluetooth介绍

前言:最近在学习蓝牙开发,借此机会翻译下官网文档中关于蓝牙的部分,然后学习下如何利用蓝牙开发蓝牙聊天软件和文件传输软件,顺便提升自己的英文文档阅读能力. 英文原地址:  http://www.androidcommunitydocs.com/reference/android/bluetooth/package-summary.html 正文: android.bluetooth包提供了一些管理蓝牙功能的类,例如扫描附近的蓝牙设备.连接设备以及管理设备间的数据传输. 如果需要更详细的信息,可以在

Leaflet API 翻译(一)

摘自:http://jsrookie.iteye.com/blog/2318972 L.Map API各种类中的核心部分,用来在页面中创建地图并操纵地图. Constructor(构造器) 通过div元素和带有地图选项的描述的文字对象来实例化一个地图对象,其中文字对象是可选的. Options(选项) Map State Options(地图状态选项) centre(中心):初始化地图的地理中心. zoom(缩放):初始化地图的缩放. layers(图层):初始化后加载到地图上的图层. minZ

Linux下安装Google SDK 配置Google API翻译环境

1.准备工作 1.1 查看系统Python版本 Linux 安装Google SDK时要求安装Python 2.7或以上版本 可以用 python -V 查看当前环境下的 Python 版本. 若Python版本低于2.7,需要重新安装Python,并设为默认Python 1.2 下载Google SDK cd到你想保存Google SDK的位置,执行 wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-c

Android官方API翻译——HttpURLConnection

人工翻译,水平有限,欢迎指正交流 原文地址:http://developer.android.com/reference/java/net/HttpURLConnection.html ------------------------------------------------------------------- 继承自java.net.URLConnection 适用于HTTP(RFC 2616)的URLConnection,用于在网络上发送和接受数据.这个类可以用来发送或者接受那些事先

API翻译 --- Fragments

IN THIS DOCUMENT Design Philosophy 设计理念 Creating a Fragment 创建一个Fragment Adding a user interface  添加一个用户接口 Adding a fragment to an activity 给Activity添加一个Fragment Managing Fragments  管理Fragment Performing Fragment Transactions 执行Fragment事务 Communicati

API翻译 --- Intent and Intent Filters

IN THIS DOCUMENT Intent Types           目的类型 Building an Intent        构建一个意图 Example explicit intent       例子显式意图 Example implicit intent      例隐式意图 Forcing an app chooser 迫使应用程序选择器 Receiving an Implicit Intent           收到一个隐式意图 Example filters