//使用$provide来定义 var app = angular.module('MyApp',[],function($provide) { $provide.factory('remoteData',0)">() { var data = {name:'n',value:'v'}; return data; }); });
使用factory方法 app.factory(function(){ value:}; data; });
使用service方法
app.service(this.name = 'n';
this.value = ;
});
Module的factory和$provide的factory方法是一模一样的
再看Module的service方法,它没有return任何东西,是因为service方法本身返回一个构造器,系统会自动使用new关键字来创建出一个对象。所以我们看到在构造器函数内可以使用this,这样调用该服务的地方便可以直接通过remoteData.name来访问数据了。
function testC(scope,rd){ scope.getData = (){ alert('name:'+rd.name+' value:'+rd.value); } } testC.$inject = ['$scope','remoteData'];