子コントローラテンプレートで親スコープ変数にどのようにアクセスしますか?子コントローラテンプレートの親スコープ変数へのアクセス - 角度
私は子コントローラ(時間ピッカー)を持っており、親コントローラによって子コントローラのボタンテキストを変更したいと考えています。親コントローラを使用して子テンプレートの値を変更するにはどうすればよいですか?
Plunkerコード:enter code here
子コントローラテンプレートで親スコープ変数にどのようにアクセスしますか?子コントローラテンプレートの親スコープ変数へのアクセス - 角度
私は子コントローラ(時間ピッカー)を持っており、親コントローラによって子コントローラのボタンテキストを変更したいと考えています。親コントローラを使用して子テンプレートの値を変更するにはどうすればよいですか?
Plunkerコード:enter code here
子ビューは$スコープのプロパティに自動的にアクセスしてきました。普段のようにアクセスしてください。
親プロパティを変更することはやや困難です。親のプロパティを変更するためにsetterを使うことをお勧めします。通常どおり(値を割り当てるだけで)変更すると、親の既存の値を変更するのではなく、新しい値でローカルスコープのコピーが作成されます。
あなたの親コントローラ上で、次の操作を行います。
$scope.myValue = "foo";
$scope.changeMyValue = function (value) {
$scope.myValue = value;
}
は、その後、あなたの子コントローラからchangeMyValue
メソッドを呼び出します。
子プロパティを変更する場合は、イベントを提案します。
イベントを発生するために、あなたの親のコントローラでこれを行います
$scope.$broadcast('myEventName', myValue);
あなたはあなたの子供のコントローラ上で、このようにイベントを受け取ることができます。
$scope.$on('myEventName', (event, value) => handleEvent(value));