2016-06-27 6 views
0

私が渡した値の1つが更新されたら、ディレクティブを "再描画"する方法についてちょっと混乱します。設定を更新した後にディレクティブをリフレッシュする

私が持っているのは、スコープパラメータとして渡す構成(JSON)に応じてグラフを描画するディレクティブです。ディレクティブを含むビューのコントローラーでは、この構成を更新できます。新しい構成がユーザーによって更新されたときにディレクティブを更新したいと思います。

JSONがどのように見えるの構成:(のようなそれを再度初期化)私はディレクティブがコンテンツをリフレッシュする構成を更新するときので

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

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

そして、ディレクティブがどのように見えます。

答えて

2

$ scope。$ watch、または$ scope。$ watchCollection()を使用する必要があります。ここではあなたのコードは、この

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

$ watchCollection(OBJ、リスナー)ようにすることができlink

です。 Shallowは オブジェクトのプロパティを監視し、いずれかのプロパティが変更されたときに起動します(配列の場合は 、これは配列アイテムの監視を意味します;オブジェクトマップの場合はこれは のプロパティを参照)。変更が検出された場合、リスナ コールバックが発生します。

関連する問題