码迷,mamicode.com
首页 > 其他好文 > 详细

简话Angular 07 Angular config-run-service-factory-provider-constant-value

时间:2015-07-27 22:30:14      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:

1.功能细分简解

config Angular module模块的加载阶段-应用在此时还没有启动
run Angular应用是第一个被运行的方法,相当于其它语言中的main()方法
factory factory() 方法是创建和配置服务的最快捷方式,单例对象,在应用的生命周期内只会被调用一次
注入factory,相当于注入factory定义时的函数调用入口。
用 Factory 就是创建一个对象,为它添加属性,然后把这个对象返回出来。你把 service 传进 controller 之后,在 controller 里这个对象里的属性就可以通过 factory 使用了
service service() 可以注册一个支持构造函数的服务,它允许我们为服务对象注册一个构造 函数
注入service,相当于注入service定义时的function实例
Service 是用"new"关键字实例化的。因此,你应该给"this"添加属性,然后 service 返回"this"。你把 service 传进 controller 之后,在controller里 "this" 上的属性就可以通过 service 来使用了。
provider service和factory都是由$provide 服务创建的,$provide服务负责在运行时初始化这些提供者
注入provider,相当于注入provider内$get定义的函数实例的调用
Providers是唯一一种你可以传进 .config() 函数的 service
constant Angular常量,相当于其他语言中的静态常量类
value 类似constant,value()方法和constant()方法之间最主要的区别是,constant可以注入到配置函数config中,而value不行
   

angular.module(‘myApp‘, []) .config(function($provide, $compileProvider) { $provide.factory(‘myFactory‘, function() { var service = {}; return service; }); $compileProvider.directive(‘myDirective‘, function() { return { template: ‘<button>Click me</button>‘ }; }); }); angular.module(‘myApp‘, []) .config(function($routeProvider) { $routeProvider.when(‘/‘, { controller: ‘WelcomeController‘, template: ‘views/welcome.html‘ }); }) .config(function(ConnectionProvider) { ConnectionProvider.setApiKey(‘SOME_API_KEY‘); });

angular.module(‘myApp‘, []) .run(function($rootScope, AuthService) { $rootScope.$on(‘$routeChangeStart‘, function(evt, next, current) { // 如果用户未登录 if (!AuthService.userLoggedIn()) { if (next.templateUrl === "login.html") { // 已经转向登录路由因此无需重定向 } else { $location.path(‘/login‘); } } }); });

this is service

this is factory

this is provider


这个常量服务可以像其他服务一样被注入到配置函数中

123123123 from scope 
from constant

123123123
 

简话Angular 07 Angular config-run-service-factory-provider-constant-value

标签:

原文地址:http://www.cnblogs.com/meteorcn/p/4681114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!