我有像这样的angularjs工厂
.factory('sampleFactory',function(){
var self = this;
return {
method1: function(arg) {
console.log(arg);
},
method2: function() {
self.method1('hello');
}
}
})
当我运行此代码时,我收到一条错误,指出self.method1不是函数。
如何通过调用另一个方法中的方法来使这个工厂工作?
答案 0 :(得分:0)
试试这个:
.factory('sampleFactory',function(){
var sampleFactory = {};
sampleFactory.method1 = function(arg){
console.log(arg);
}
sampleFactory.method2 = function(arg){
sampleFactory.method1('hello');
}
return sampleFactory;
})
答案 1 :(得分:0)
在我看来factory recipe
并不是您需要的,遵循service
食谱可能需要的角度建议:当您的服务是a时,您应该使用service
类类服务,因为服务是使用new
运算符实例化的。因此,更好的方法是以这种方式声明您的服务:
angular
.module('test', [])
.service('sampleFactory', function sampleFactory() {
this.someProperty = 'Hello World';
this.getSomeProperty = function() { return this.someProperty; };
})
;