我以前也这样做过,但这次不知道出了什么问题。
一项服务:
angular.module('module')
.service("BaseService", function() {
var vm = this;
var testValue = {a:1,b:2};
vm.getTestValue = function(){
return testValue;
}
});
控制器中的方法:
vm.getTest = function(){
console.log(BaseService.testValue) // undefined - cool
console.log(BaseService.getTestValue()) //{a: 1, b: 2} - cool
var value = BaseService.getTestValue();
console.log(value) // {a: 1, b: 2} - cool
value.a = 20; // updated local object
console.log(value) // {a: 20, b: 2} -cool
console.log(BaseService.getTestValue())-- {a: 20, b: 2} -- ??? why
}
希望我的问题很清楚,为什么局部变量在服务中得到更新,如果它的行为是这样的..在服务/工厂中获取设置功能的正确方法是什么....最好是原型化功能而不是附加功能虚拟机。