Ich habe eine Steuerung in einer anderen Steuerung verschachtelt.Aufruf der Funktion in der Tochtersteuerung von der übergeordneten Steuerung
$scope.saveItem = function() {
$scope.ajaxOut = true;
$scope.saveContracts();
};
aber die Funktion saveContracts() ist in dem contractController:
<div ng-controller="manufacturerController" ng-cloak>
<div ng-controller="contractController" ng-cloak>
<div data-ng-if="item" class="panel panel-default">
<div class="panel-heading text-center">
<span class="h3">Contract</span>
</div>
</div>
</div>
<button data-ng-if="item && !ajaxOut" class="btn btn-success" data-ng-click="saveItem()">Save</button>
</div>
saveItem() wird über die Schaltfläche und der Code ist in dem manufacturerController genannt. Ich möchte die contractController.saveContracts() von manufacturerController.saveItem() aufrufen.
Nach hier sollte ich in der Lage sein, die übergeordnete Methode fein zu nennen: How to call a function from another controller in angularjs?
Aber das Speichern den Browser einfriert. Was mache ich falsch und wie repariere ich es?
Sie dies direkt nicht. Sie tun es über ein Ereignis/eine Benachrichtigung. Controller sollten kein Wissen voneinander haben. Sie können entweder das eingebaute $ broadcast verwenden oder Sie können einfach einen einfachen Observer-Benachrichtigungsdienst einrichten. –
@TimConsolazio Können Sie ein Beispiel geben? –
Suchen Sie nach "$ on $ emit $ broadcast angularjs". Tonnenweise Beispiele da draußen. –