angular service provider
2024-10-15 03:55:52
关于 angular service factory provider 方面有很多,我也来写一篇加深下印象
provider 是一切方法的基础,所以功能也最强,provider 用来定义一个可以被注入的服务,其实就是一个依赖注入的模块。
已ng-route 为例
var ngRouteModule = angular.module('ngRoute', ['ng']). provider('$route', $RouteProvider);
等价 AngularJS在模块对象上直接暴露了provider方法
ngRouteModule.config(["$provide",function($provide) {
$provide.provider('$route', $RouteProvider);
}])
通过provider ,定义了$route服务。
通过provider 定义的服务会生成一个serviceProvider 例
$route服务$routeProvider, $location服务$locationProvider, $http服务$httpProvider ,$controller服务$controllerProvider
config阶段,只有provider能被注入(除了两个例外$provide和$injector)。此时可以通过serviceProvider 来设置服务中的一些私有属性 ,传一些参数,在服务模块调用之前。
例如:
路由配置
app.config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/view1', {
template:"this is v1 "
}); $routeProvider.when('/view2', { //详情页面
template:"<div class='view2'>this is view 2</div> "
});
$routeProvider.when('/view3', { //详情页面
templateUrl: 'all2.html'
});
}])
设置 $route 服务中的routes 路由列表。
最后 感谢主要参考文档 理解AngularJS中的依赖注入张小俊 http://www.html-js.com/article/1980,这篇文章读了很多遍每次都有新的理解
最新文章
- 来玩Play框架07 静态文件
- 让产品有效迭代,前端A/B Testing的简单实现
- 从零自学Hadoop(04):Linux准备下
- Python for Informatics 第11章 正则表达式五(译)
- JS-DOM基础
- jQuery 正则选择器
- 错误:Implicit super constructor xx() is undefined for default constructor. Must define an explicit constructor
- http://highscalability.com/blog/2015/5/18/how-mysql-is-able-to-scale-to-200-million-qps-mysql-cluster.html
- Linux——常用命令详解
- hdoj 2899 Strange fuction【二分求解方程】
- LeetCode-Divdend two Integers
- 查看Linux下网卡状态或 是否连接
- Python中的isinstance函数
- YII缓存依赖的应用
- 【转】RAM 大全-DRAM, SRAM, SDRAM的关系与区别
- CentOS7操作系统参数优化
- Tomcat源码组织结构
- 实力封装:Unity打包AssetBundle(大结局)
- React-使用react-redux
- React篇-报错信息:warning: Can&#39;t call setState (or forceUpdate) on an unmounted component.