发表于: 2017-05-03 18:25:58

1 1193


今天完成的事:1,学习了AngularJS ngRoute

AngularJS的基础是其模块机制。在模块的基础上,我们可以利用JavaScript的一些特性来做我们想做的任何的事情。

ngRoute是一个AngularJS的模块。其不是在AngularJS的核心库当中。

在使用ngRoute的时候,实际上,我们是在应用的主模块中引入ngRoute模块并添加$routeProvider服务到主模块的config方法中来达到我们的目标。这与其他一些库的使用方式是类似的,如ng-grid。

在ngRoute中,主要有$route、$routeProvider、$routeParams三个服务项目。

$routeProvider用于在主应用主模块的配置方法中。$route与$routeParams一般常见于控制器中。

ngRoute并没有在AngularJS的核心包里面,所以在使用的时候,需要引入一个独立的库。


$routeProvider是一个用于配置路由的内置服务。由于它是一个服务,根据service的使用建议,我们主要将其当做为工具来使用,所以我们一般直接使用$routeProvider.XXX来调用它的成员方法来实现一定的功能,而不是实例化一个$routeProvider的实例。它主要有以下两个成员函数:

  1. otherwise(params):设定映射信息到$route.current,一般用于指定没有标明的路由如何处理。

when(path, route):向$route服务添加新的路由。path是指定的URL路径,route标明路由的处理。


$routeProvider.when(path, route)中的路由处理参数对象,常用的有如下的属性:
controller:用于指向用于路由处理的控制器。
template:用于指向用于路由的视图模板。

redirectTo:重定向。(使用$location)

  1. $route
  2. $route用于将控制器与视图相连。它观察$location.url(),并且尝试映射路径到一个已经存在的路由定义中。它依赖$location、$routeParams。它主要有如下成员函数:
  3. reload() 用于重新加载当前的路由,哪怕$location没有改变。调用后,ngView将创建新的Scope等。
  4. 它主要有如下事件:
  5. $routeChangeStart:路由改变之前触发;
  6. $routeChangeSuccess:路由改变之后触发;
  7. $routeChangeError:路由改变出错触发;

明天计划的事:继续学习angular知识,果然还是没能理解


遇到的问题:基本概念没能理解清楚


收获:了解了angular路由的有关知识





返回列表 返回列表
评论

    分享到