$ watchとネストされたコントローラのスコープに関する質問があります。
私は入力モデルをバインドしました。たとえば、自分のhtmlで
<input ng-model='searchString' />
これは子供(ネストされた)コントローラ内にありますが、親コントローラにng-modelを定義しました。だから私は親のコントローラーで$ watchしようとしました。それは動作しません。
app.controller('mainCtrl', ['$scope', function($scope){
$scope.searchString = '';
$scope.$watch('searchString', function(){
console.log("changed in parent");
})
}]);
app.controller("nestedCtrl", ["$scope", function($scope){
}])
私は子供のコントローラで$ウォッチを置く場合は、それが働くだろう。
app.controller("nestedCtrl", ["$scope", function($scope){
$scope.$watch('searchString', function(){
console.log("changed in child");
})
}])
なぜ私は親コントローラでスコープを定義しましたが、子コントローラでしか見ることができませんか? 親コントローラが変更を検出する方法はありますか?私は子供のコントローラから何かをする必要があるので、このスコープ変数に基づいて、しかし私はできませんでした。