「終了」イベントの意味によって異なります。2 番目のアプリ モジュールの初期化が完了した瞬間ですか、それとも 2 番目のモジュールの「ホーム コントローラー」がビューのレンダリングを完了した瞬間ですか。前者の場合は、2 番目のモジュールの実行ブロックを使用できます。
モジュールのドキュメントから:
実行ブロック - インジェクターが作成された後に実行されます ...
したがって、あなたの場合、.run
2番目のモジュールにブロックを設定してwindow
グローバルスコープに変数を設定し、最初のモジュールでその変数のリスナーを設定できます。したがって、本質的には、window
オブジェクトを使用してモジュール間でデータを共有することになります。
HTML:
<div id="one" ng-cloak ng-controller="oneCtrl" ng-hide="hide">
<input type="text" ng-model="path" placeholder="here..." />
<button ng-click="save()">save</button>
<button ng-click="two()">two()</button>
</div>
<hr/>
<div id="two" ng-cloak ng-controller="twoCtrl">
<span>{{path}}</span>
</div>
angular
.module('oneApp', [])
.controller('oneCtrl', function($scope, $window) {
$scope.hide = false;
$scope.two = function() {
angular.bootstrap($('#two'),['twoApp']);
};
$scope.$watch(function(){
return $window.twoAppIsSet;
}, function(twoAppIsSet){
$scope.hide = twoAppIsSet;
});
});
angular
.module('twoApp', [])
.controller('twoCtrl', function($scope) {
$scope.path = window._path;
})
.run(function($window){
$window.twoAppIsSet = true;
});
angular.element(document).ready(function() {
angular.bootstrap($('#one'), ['oneApp']);
});
FIDDLE