我有一些工厂:
app.factory('myFactory', function() {
return {
property1: "str",
property2: "str",
property3: "str",
func: function() {/*....*/},
childObj:{
prop1: "str",
prop2: "str",
childFunc: function() {
//....;
func();
}
}
}
})
我可以在子方法中调用父工厂方法吗?
答案 0 :(得分:1)
但是我可以在Angularjs工厂里面调用child方法中的父方法吗?
正如您定义的工厂 - 否
app.factory('myFactory', function(){
return{
property1:"str",
property2:"str",
property3:"str",
func:function(){
return "fess";
},
childObj:{
prop1:"str",
prop2:"str",
childFunc:function(){
return func(); // here you will get error: func() is undefined
}
}
}
})
但是,当我们创建factory
var:
app.factory('myFactory', function(){
var factory = {
property1:"str",
property2:"str",
property3:"str",
func:function(){
return "fess";
},
childObj:{
prop1:"str",
prop2:"str",
childFunc:function(){
return factory.func(); // <-- OK
}
}
};
return factory;
})
呼叫:
console.log(myFactory.childObj.childFunc()); // fess