【发布时间】:2015-02-19 18:40:53
【问题描述】:
这是我拥有的 3 个角工厂:
angular.module('myApp', []);
angular.module('myApp').factory('**ClassA**', function() {
return {
object: {"id":-1, "name": "abc"}
};
});
angular.module('myApp').factory('**ClassB**', function() {
return {
object : {"city":"cc","state":"NJ"}
};
});
angular.module('myApp').factory('**ClassAB**', function() {
return {
object:{
ClassA: {"id":-1, "name":"pqr"},
ClassB: {"city":"aa", "state":"NY"}
}
};
});
有没有办法包含或引用 ClassA 和 ClassB,这样我就不必再次复制代码了。像这样不会将数据传回 ClassA 或 ClassB 的东西。
angular.module('myApp').factory('**ClassAB**', function(ClassA, ClassB){
return {
object:{
"ClassA": ClassA.object,
"ClassB": ClassB.object
}
};
});
当我说:
angular.module('myApp').controller('MyController', function($scope, $filter, ClassA, ClassB, ClassAB) {
console.log("ClassA before:" +ClassA.object.name);
ClassAB.object.classA.name="xyz";
console.log("ClassAB :"ClassAB.object.ClassA.name);
console.log("ClassA after:"ClassA.object.name);
}
我明白了:
ClassA before: abc
ClassAB : xyz
ClassA after: xyz
我希望看到这样的东西:
ClassA before: abc
ClassAB : xyz
ClassA after: abc
【问题讨论】:
标签: angularjs dependency-injection factory