2016-05-03 9 views
0

Ich habe verschiedene ng klickt auslösen Ereignisse, ich will alle, die auf einmal auf Klick auf eineWie mehrere Click-Ereignisse auf einen Klick Winkel js

Beispiel

<div ng-controller="one"> 
    <input type="button" id="one" ng-click="firstBtnClick(a,b)" class="fstClass"/> 
</div> 
<div ng-controller="two"> 
    <input type="button" id="two" ng-click="SecBtnClick(c,d)" class="SecClass"/> 
</div> 
<div ng-controller="three"> 
    <input type="button" id="three" ng-click="ThirdBtnClick(e,f)" class="ThirdClass"/> 
</div> 

Jetzt Taste ausgelöst werden ich möchte alle diese Klick-Funktionen auf eine andere Taste

<div ng-controller="final"> 
<input type="button" id="final" ng-click="finalBtnClick" class="FinalClass"/> 
</div> 

Schlusssteuercode

getroffen

Aber ich kann nicht erreichen, Irgendwelche Vorschläge ??

Antwort

0

Wenn die Funktionen in dem gleichen Controller können Sie Kette zusammen wie folgt aus:

<input type="button" id="final" ng-click="firstBtnClick+SecBtnClick+ThirdBtnClick" class="FinalClass"/> 

Für die Kommunikation über Controller können Sie einen gemeinsamen Dienst an jedem Controller, Nest-Controller, verwenden $ rootscope oder Verwendung erstellen und injizieren $ emit:

function FirstController($scope) 
{ 
    $scope.$on('clickFirst', function(event, args) { 
     firstBtnClick(args)//click first button 
    }); 
    // another controller or even directive 
} 

function FinalController($scope) 
{ 
    $scope.$emit('clickFirst', args); 
} 
+0

Jeder Klick ist in verschiedenen Controllern und es gibt verschiedene Parameter auf jeder Klick-Funktion ?? – Sultan

0

Warum möchten Sie dies in der Ansicht tun? Mit jedem Tastendruck rufen Sie Controller-Funktionen auf.

So haben nur eine ng-click="everyClick()" und in diesem Controller Funktion, rufen Sie jede Funktion, die Sie anrufen möchten.

So:

$scope.finalBtnClick = function() { 
$scope.firstBtnClick(); 
$scope.SecBtnClick(); 
$scope.ThirdBtnClick(); 
} 
+0

Verschiedene Controller können diese nicht aufrufen – Sultan

+0

Jeder Klick befindet sich in einem anderen Controller und es gibt verschiedene Parameter für jede Klick-Funktion – Sultan