2016-07-05 8 views
0

親ボタンをクリックすると、子ボタンも子ボタンも変更されます。 この動作を変更して、ハックやその他の方法でスコープを分離する必要があります。ビューを変更せずに、親コントローラスコープから子コントローラスコープを分離する方法はありますか?

子コントローラは親コントローラから継承せず、独自のスコープが必要です。

angular 
 
    .module('app', []) 
 
    .controller('ParentCtrl', function() {}) 
 
    .controller('ChildCtrl', function() {})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app=app> 
 
    <div ng-controller=ParentCtrl> 
 
    <button ng-click="text='clicked'"> 
 
     {{text || 'parent'}} 
 
    </button> 
 
    <div ng-controller=ChildCtrl> 
 
     <button ng-click="text='clicked'"> 
 
     {{text || 'child'}} 
 
     </button> 
 
    </div> 
 
    </div> 
 
</div>

https://jsfiddle.net/nizami/oLwbktz9/

+0

を得ることを願っていますチェック –

+0

私はそれぞれのコントローラが独自のスコープを持っていることを望みます。子コントローラは親コントローラから継承しません –

+0

ありがとう!しかし、それは私が望むものではありません。私は同じ名前のプロパティを使いたい。 –

答えて

1
angular 
    .module('app', []) 
    .controller('ParentCtrl', ['$scope', function($scope) { 
    $scope.text = null; 
    }]) 
    .controller('ChildCtrl', ['$scope', function($scope) { 
    $scope.text = null; 
    }]) 
+0

より完全な例を提供することは可能ですか? –

+0

そのリンクは機能しませんでした。私はもう一度それを試してみます... –

+0

ここに行きます:https://jsfiddle.net/qt51x49L/1/ –

0

ちょうどあなたの子供のコントローラスコープ変数を変更します。 コントローラは常に親コントローラからスコープを継承します。ディレクティブでは、独立スコープを作成するオプションがあります。

<div ng-controller=ParentCtrl> 
    <button ng-click="text='clicked'"> 
    {{text || 'parent'}} 
    </button> 
    <div ng-controller=ChildCtrl> 
    <button ng-click="text2='clicked'"> 
     {{text2 || 'child'}} 
    </button> 
    </div> 
</div> 
+0

ありがとうございます。はい、ちょうど指令に何が起きているのですか?コントローラーだけで同様の動作が必要です –

1

更新plunkr..I uはあなたが正確に何をしたいですか?ウル答え

​​

<div ng-controller=ParentCtrl> 
    <button ng-click="text='clicked'"> 
    {{text || 'parent'}} 
    </button> 
    </div> 
    <div ng-controller=ChildCtrl> 
    <button ng-click="text='clicked'"> 
     {{text || 'child'}} 
    </button> 
</div> 
+0

ありがとうございました。しかし、私はその見解を変えることはできません。極端なケースではそうではない –

+0

あなたはスコープを重複させたくない...右..? –

+0

はい。私はすべてのスコープがお互いから隔離されていることを望む –