var app=angular.module('myApp',[])
app.factory('testFactory',function()
{
return {
SayHello: function(text){
return "Hello " +text;
}
}
});
app.service('testService',function(){
{
return {
this.SayHello= function(text){
return "Hello " +text;
}
}
}
答案 0 :(得分:1)
您正在从您的服务返回一个对象。您需要做的就是在this
指针上放置方法和属性。或者,创建一个Factory,您可以在其中返回一个对象并避免使用this
。这是服务和工厂之间的唯一区别
// As a service
app.service('testService', function() {
this.SayHello = function(text) {
return 'Hello ' + text;
};
});
// As a factory
app.factory('testFactory', function() {
return {
SayHello: function(text) {
return 'Hello ' + text;
}
};
});
您会注意到在服务中我们不需要返回任何内容。那是因为服务是使用new
实例化的。另一方面,工厂被实例化为常规函数调用,因此我们必须返回我们希望它们具有的内容。在这种情况下,我们自己的自制对象使用SayHello作为方法。