0

コントローラにcontrollerBubbleという名前のボタンがあります。私はこのボタンが他のコントローラによって制御されたdivを表示したいと考えています:controllerDependance。同じコントローラーでdivとhidden divにボタンをラップすることは可能ですが動作しません。 これは私のHTMLです:別のコントローラと折り返しでdivを表示しない

<div ng-app="app"> 

    <div ng-controller="mainController" ng-show="myvalue" class="ng-cloak"> 
    <div id="panelSap" ng-controller="controllerDependance"> 
     My hidden div 
    </div> 
    </div> 

    <div id="containerDetailsTicket" class="clearfix" ng-controller="controllerBubble"> 
    Div which contains the button 
    <div id="containerButton" ng-controller="mainController"> 
     <button ng-click="showAlert()">Afficher</button> 
    </div> 
    </div> 

</div> 

これは私のコントローラである:

var d3DemoApp = angular.module('app', []) 
d3DemoApp.controller('controllerBubble', function() { 

}); 

d3DemoApp.controller('controllerDependance', function($scope) { 
    $scope.myvalue = false; 
    $scope.showAlert = function() { 
    $scope.myvalue = true; 
    }; 
}); 

d3DemoApp.controller('mainController', function AppCtrl($rootScope, $scope) { 
    $scope.myvalue = false; 
    $scope.showAlert = function() { 
    $scope.myvalue = true; 
    }; 
}); 

は私が何が起こっているのか Plunker 任意のアイデアを作成しましたか?誰かがプランカで仕事をすることができます。私は誰かが私を助けることを願っています。 ありがとうございました。

答えて

2

どうしてこのようなコントローラーを入れたいのかわかりませんが、私はそれが良くないと確信しています。。私はあなたに理由を教えてあげます。あなたのコードでは、2つのDOM eleで同じコントローラを使用しようとしています。だから、彼らは2つの異なる範囲を持っています$scopeと彼らは働いていないので。

私はあなたがグローバル変数$rootScope.myvalue)を有することになりますよう$rootScopeが、そのないクリーンなアプローチを使用することにより、あなたのためのworking plunkerをしたと宣言。グローバル変数の宣言は、強制されない限り、避けるべきです。

別のsuggested approach in plunkerは、イベント通知として$emitを使用します。 $onは、イベントがトリガーされたときに適切なアクションを実行します。その値を別のコントローラに渡すことさえできます。

サービスを使用して、controllerの間で値を渡すこともできます。あなたには、いくつかのdivを(隠さない)を削除したい場合は、あなたがng-ifを使用してみてください

は、あなたがより多くの情報が必要な場合は私に

アップデート1を知ってみましょう。

+0

こんにちは、同じボタンをクリックしたときにdivを削除したい場合、どうすればいいですか?別のng-showを作成しますが、ng-showを入力すると、divはすでに隠されています.Plunkerを確認できますか? https://plnkr.co/edit/YR2L2ltluvVT3yJqRxii?p=previewありがとうございました! – Anonyme

+0

@ afeffifari-1957:英語があなたのアプローチを理解するのに十分なほど明確ではありません。あなたのコメントから私が理解したものから答えを更新しました。 –

関連する問題