2016-06-27 2 views
0

전달 된 값 중 하나가 업데이트되면 지시문을 "다시 그리는"방법에 대해 약간 혼란 스럽습니다.구성을 업데이트 한 후 지시문 새로 고침

내가 가진 것은 범위 매개 변수로 전달하는 구성 (JSON)에 따라 차트를 그리는 지시어입니다. 지시어가 포함 된보기의 컨트롤러에서이 구성을 업데이트 할 수 있으며 사용자가 새 구성을 업데이트 할 때 지시문을 업데이트하려고합니다.

<my-chart configuration configuration="configuration"></my-chart> 

그래서 내가 지시어는 컨텐츠를 새로 고칠 구성을 업데이트 할 때 (같은 다시 초기화) :

$scope.configuration = { 
    widget: { 
     range: { 
      maximum: 0, 
      minimum: -20 
     } 
    } 
} 

그리고 지시어는 다음과 같습니다처럼

구성 JSON 보인다 .

답변

2

$ scope. $ watch 또는 $ scope. $ watchCollection()을 사용해야합니다. 여기에 link

당신의 코드는이

$scope.$watchCollection('$scope.configuration.widget.range', function reInit(values){ 
init(values) 
}); 

$ watchCollection (OBJ, 리스너)을 같이 할 수있다; Shallow는 객체의 속성을 감시하고 속성 중 하나가 변경 될 때마다 발생합니다 (배열의 경우 은 배열 항목을 보았음을 의미하고 객체 맵의 경우 이는 속성을 의미 함). 변경 사항이 감지되면 청취자 콜백이 발생합니다.

관련 문제