「実行ブロックはいつ正確に実行されますか?」
実行ブロック-インジェクターが作成された後に実行され、アプリケーションをキックスタートするために使用されます。実行ブロックに注入できるのは、インスタンスと定数のみです。これは、アプリケーションの実行時にシステムがそれ以上構成されないようにするためです。-モジュールドキュメント
。
「どうすれば...最初にページを表示してから、データの読み込みを開始してメッセージを表示できますか?」
ng-showと$scopeまたは$rootScopeプロパティ(最初はtrueに設定)を使用して、「Loading」メッセージの表示を制御できます。メインコントローラーはデータをロードできます。データが戻ってきたら、ビューに関連付けられた$ scopeプロパティを設定し、「showLoadingMessage」プロパティをfalseに設定します。
HTML:
<div ng-controller="MyCtrl">
<div ng-show="showLoadingMessage">Loading... </div>
<ul>
<li ng-repeat="item in data">
....
</li>
</ul>
</div>
コントローラ:
function MyCtrl($scope, $resource) {
$scope.showLoadingMessage = true;
var dataResource = $resource('/somewhere/else');
dataResource.query( function(data) {
$scope.showLoadingMessage = false;
$scope.data = data;
});
}