AngularJs custom service provider

provider服务
	1、只要被创建就会添加到app中,无论是否注入,都存在且占内存,后续不需等待直接使用
	2、其他服务创建完成后,只有注入使用才加载,只有使用时才占据内存,但加载需要时间
	3、创建完成自动执行,服务名称.调用对象内容
	4、此服务主要目的是空间换时间,节约时间
	5、与factory服务类似

	语法:app页面数据模型.provider('自定义provider名字',function(){
		this.$get=function(){
			var obj={};
			...
			return obj;
		}
	})

Code Example:

<html ng-app='app' ng-controller='main' >
<head>
	<meta charset="utf-8">
	<meta name='viewport' content='width=device-width,user-scalable=no,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0'>
	<title ng-bind='mainTitle'></title>
	
	<script src='js/angular.js'></script>
	<script src='js/angular.route.min.js'></script>	
	<style>

	</style>
</head>
<body >
<!-- 向全局变量存储内容 -->
<div class='div1' ng-controller='con'>
	<input type="text" ng-model='msg'>
	<button ng-click='submit(msg)'>保存</button>	
</div>

<!-- 向全局变量获取内容 -->
<div class='div2' ng-controller='con2'>
<p ng-bind='showMsg'></p>
<button ng-click='download()'>下载</button>
		
</div>
 

<script>
	var app=new angular.module('app',[]);

	app.provider('ssr',function(){
		this.$get=function()
		{
			var obj={};
			obj.uname='jeff';

			return obj;
		}
	})

	app.controller('main',['$scope',function($scope){
		$scope.mainTitle='value';
	}])

	app.controller('con',['$scope',function($scope){
		$scope.msg='';
		$scope.submit=function(temp)
		{
			//向全局变量存入msg
			
		}

	}])

	app.controller('con2',['$scope','ssr',function($scope,ssr){
			$scope.showMsg='';

			$scope.download=function()
			{
				console.log(ssr.uname);

			}

	}])
</script>
</body>
</html>
Published 300 original articles · won praise 3 · Views 6354

Guess you like

Origin blog.csdn.net/weixin_43294560/article/details/104052788