2014-07-08 2 views
0

간단한 작업을 수행해야하는 것처럼 보이기 위해 노력하고 있지만 문제가 있습니다.

다음은 내가 생각해 낼 수있는 가장 간단한 예입니다.

기본적으로 나는 test라는 변수를 초기화하고 변수를 testStr 범위에 바인딩합니다. run()에서 테스트 변수를 업데이트하면 testStr이 뷰에서 업데이트됩니다. 하지만 $http.get 요청을 통해 동일한 변수를 업데이트하면 뷰가 업데이트되지 않습니다. 왜 이런거야? 이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

어떤 계발이 대단히 감사하겠습니다.

Anguar의 v1.2.16

답변

2

나는 당신의 문제가 관련 코너입니다 생각하지 않습니다. testtestStr은 보통의 오래된 JavaScript 문자열이므로 새 문자열과 같게 설정하면 새 변수가 만들어지고 다른 변수에는 영향을 미치지 않습니다. 여러 변수가 동일한 문자열에 대한 참조를 갖기를 원하면 객체에 넣어야합니다. 예컨대 :

$scope.testStr = test;

전에 실행하기 때문에
var a = {str: 'my string'} 
var b = a; 

b.str = 'new string'; 

//now a.str and b.str both equal 'new string' 

당신이 run() 블록에 변경 한 내용을 볼 수있는 유일한 이유는