我有以下两个代码:
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
返回的最佳方式是什么?为什么?这有什么不同吗?
答案 0 :(得分:0)
这取决于,但基本上我使用2个版本
// 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
}
}
}]);
答案 1 :(得分:0)
这是一个惯例问题。坚持使用最符合您编码风格的产品。
您的每个示例都使用工厂模式,并且角度服务是围绕工厂模式构建的。您可以使用的另一种方法是:
angular.module('servicefunction',[]).
factory('checkservice',[function(){
return {
getX : function() {
return x;
}
}
}]);