首页 > 网站 > WEB开发 > 正文

angularjs自定义供应商

2024-04-27 15:05:34
字体:
来源:转载
供稿:网友

factory()—-函数可以返回简单类型、函数乃至对象等任意类型的数据 一般最为常用

service()—–函数数组、对象等数据

constant()—-value()方法和constant()方法之间最主要的区别是,常量可以注入到配置函数中,而值不行。

value()—–如果服务的$get方法返回的是一个常量,那就没要必要定义一个包含复杂功能的完整服务,可以通过value()函数方便地注册服务。

PRovider()—-提供者是一个具有get()方法的对象,injector通过调用$get方法创建服务实例。

<html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script src="angular.min.js"></script></head><body ng-app="myApp"><div ng-controller="firstController">{{name}} ##name##</div><script> var m1 = angular.module('myApp',[]); /*providerServices01Provider是使用config 将provider进行配置 用法是m1.config('供应商名+Provider',function(){}) 这个可以与controller 一样的写法 m1.config(['供应商名+Provider',function(供应商名+Provider){}])interpolateProvider是另外一种可以吧内容直接放进v中的方式。##可以替换为任何数 */m1.config(['providerServices01Provider','$interpolateProvider', function(providerServices01Provider,$interpolateProvider){ providerServices01Provider.name='张三'; providerServices01Provider.age=50; $interpolateProvider.startSymbol('##'); $interpolateProvider.endSymbol('##'); }]) m1.provider('providerServices01',function(){ //可以在config里面配置的属性 this.name=''; this.age=''; this.$get=function(){ var that=this; var _name=''; var service={}; service.setName=function(name){ _name=name; } service.getName=function(){ return _name; } service.getConfigName=function(){ return that.name+'age:'+that.age; } return service; } }); m1.service('serviceServices01',function(){ var _name=''; this.setName=function(name){ _name=name; } this.getName=function(){ return _name; } }); m1.factory('factoryServices01',function(){ var _name=''; var service={}; service.setName=function(name){ _name=name; } service.getName=function(){ return _name; } return service; }) console.log(m1); m1.controller('firstController',['$scope','providerServices01','serviceServices01','factoryServices01',function($scope,providerServices01,serviceServices01,factoryServices01){ console.log(providerServices01); console.log(providerServices01.getConfigName()); console.log(serviceServices01); console.log(factoryServices01); $scope.name='张三'; }]);</script></body></html>

创建一个新的自定义供应商

<html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../angular.min.js"></script> <script> var myapp=angular.module('myapp',[],function($provide){ //创建一个factory函数直接使用provide直接创建 $provide.service('$service001',function(){ return{ googel:'service' } }) $provide.factory('$factory001',function(){ return{ googel:'这是一条factory产生的对象', goo:'这个对象内有两条数据' } }) }); myapp.controller('firstController',['$scope','$service001','$factory001',function($s,$service001,$factory001){ $s.name='heihei'; console.log($service001) console.log($factory001) }]) </script></head><body ng-app="myapp"><div ng-controller="firstController"> {{name}}</div></body></html>

provider创建的方法可以看收藏的第一条有介绍两种方法


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表