在AngularJs中返回服务的最好方式是什么?及其原因

What is the best way to return services in AngularJs? And Why?

本文关键字:是什么 方式 AngularJs 返回 服务      更新时间:2023-09-26

我有以下两个代码:

angular.module('servicefunction',[]).
factory('checkservice',[function(){ 
    this.x = function(num){
        return num;
    }
 return this;
}]);

下一个是创建对象并返回

angular.module('servicefunction',[]).
factory('checkservice',[function(){ 
   var x = {};
   x.number = function(){
  }
  return x;
}]);

Service返回的最佳方式是什么,为什么?这有什么区别吗?

看情况,但基本上我使用两个版本

// useful for single function, called as checkServ()
angular.module('serv',[]).
    factory('checkServ',[function(){ 
      return function(){
          //stuff
          //can be called with arguments
      }
}]);
// called as checkServ.func() or checkServ.prop
angular.module('serv',[]).
    factory('checkServ',[function(){ 
      return {
          prop: 'data',
          func: function() {
               //stuff here
          }
      }
}]);

这是一个惯例问题。选择一个最适合你的编码风格的。

你的每个例子都使用工厂模式,angular服务都是围绕工厂模式构建的。另一种用法是:

angular.module('servicefunction',[]).
factory('checkservice',[function(){ 
   return {
      getX : function() {
          return x;
      }
   }
}]);