どのように変数を変更し、ChildCtrlで 'new' varがインスタンス化されているにもかかわらず、それらをParentCtrlに容易に伝播できますか?時計のは(それが簡単に実現することができる)のと$には$を最小限Angular JSは親スコープへの子スコープの変数の変更を反映します
ParentCtrl
ChildCtrl/ChildCtrl2/ChildCtrl3/ChildCtrl4
- ビュー
私のChildCtrlはちょうど私が簡単に抽象化できないほど十分に異なっていますasterレイアウトとng-viewがありますが、それらはすべてParentCtrlの同じ関数に依存しています。
$ scope.searchTermsはParentCtrlで定義されていますが、ng-model = 'searchTerms'の入力ボックスは子コントローラのビューにあります。このvarが変更されると、ParentCtrlにはChildCtrlsだけが反映されません。
例: http://jsfiddle.net/JHwxP/22/
HTML部分
<div ng-app>
<div ng-controller="Parent">
parentX = {{x}} <br/>
parentY = {{y}}<br/>
<div ng-controller="Child">
childX = {{x}}<br/>
childY = {{y}}<br/>
<a ng-click="modifyBothScopes()">modifyBothScopes</a><br>
<br>
The changes here need to appear in 'Parent'. <input ng-model='y'>
</div>
</div>
</div>
コントローラ
function Parent($scope) {
$scope.x= 5;
$scope.y= 5;
}
function Child($scope) {
$scope.modifyBothScopes= function() {
$scope.$parent.x++;
};
}
UPDATE
私は現在共有サービスアプローチをしようとしています:https://gist.github.com/exclsr/3595424
UPDATE
EMIT /放送システムをしようと
問題解決しよう: 私は親に$ scope.searchTermsを格納しており、変更が子$スコープ内のスペースを作成します。
解決策: 親で$ scope.search.termsを実行していて、子で変更したときに親にバブルするはずです。
例:http://jsfiddle.net/JHwxP/23/
私はMiskoのことを知っていました。「ドットを使用していなければ、何か間違っています。なぜ私は経験したことがありませんでした。ここであなたの答えの実例があります:http://jsfiddle.net/JHwxP/23/ –
今、私は死んだ人を見ることができます!!!!!どうも –