이전에이 작업을 수행했지만 이번에는 무엇이 잘못되었는지 알지 못합니다.각도 1 : 컨트롤러를 통해 업데이트되는 서비스 변수
서비스 :
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
}
로컬 변수가 서비스 내에서 업데이트지고 왜 내 질문에 분명하다 희망과 .. 서비스/공장에서 설정 함수를 얻는 올바른 방법은 무엇입니까? VM에서 기능을 추가하는 대신 함수를 프로토 타이핑하는 것이 낫습니다.
감사합니다. Suren .... 내가 대안으로하고있는 것이지만 ...이 물체들을 다루는 가장 좋은 방법을 알고 싶습니다 ... 그리고 방의 예를 들어 주셔서 감사합니다 ... 매우 혁신적이며 기억하기 쉽습니다. – Luckyy
개체를 변경할 필요가없는 경우 해당 함수를 변경하지 않아야하므로 복사본을 반환해야합니다. –