私は別のコントローラにネストされたコントローラを持っています。親コントローラからの子コントローラの呼び出し関数
<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()は、ボタンを介して呼び出され、コードがmanufacturerControllerである:
$scope.saveItem = function() {
$scope.ajaxOut = true;
$scope.saveContracts();
};
しかし関数saveContractsを()contractControllerです。 manufacturerController.saveItem()からcontractController.saveContracts()を呼び出したいとします。
ここによると、私は細かい親メソッドを呼び出すことができる必要があります:How to call a function from another controller in angularjs?
をしかし、保存は、ブラウザを凍結されます。私は間違って何をしているのですか?どうすれば修正できますか?
を参照してください。あなたはイベント/通知を介してそれを行います。コントローラは、互いに知り合うべきではありません。内蔵の$ブロードキャストを使うこともできますし、単純なオブザーバー通知サービスを設定することもできます。 –
@TimConsolazio例を挙げることができますか? –
"$ on $ $ angle"を参照してください。数多くの例があります。 –