###前提・実現したいこと
angularjsのDirectiveでいくつかの共通部品を作成しています。
その共通部品をいれた画面を表示すると、
親画面の描画後に子画面の描画が走り、ちらつきがでてしまっています。
ちらつきがでることは仕方ないのだろうと思い、
「読み込み中」というパネルをはじめに表示し、
描画が完了し次第消すことにしようと考えているのですが、
複数個ある子画面の描画完了のタイミングをとることができません。
※共通部品は複数あり、それらを使用する画面も複数あるため、
どの部品が最後に生成されるかはわかりません。
このような場合、親子すべての描画が完了したというイベントをどのように発生させればよいのでしょうか。
###該当のソースコード
かなり簡略化して書いています
html
1<div ng-controller="TestController" ng-init="init()"> 2TEST 3<directiv1></directiv1> 4<directiv2></directiv2> 5</div>
html
1<div> 2ディレクティブ1 3</div>
html
1<div> 2ディレクティブ2 3</div>
javascript
1.controller('TestController', ['$scope', function ($scope) { 2 $scope.init = function(){ 3 4 } 5 //いろいろな処理 6}]); 7.directive("directiv1", ["$http", function ($http) { 8 return { 9 restrict: 'E', 10 scope: {}, 11 templateUrl: 'directiv/directiv1', 12 link: function (scope, element, attr) { 13 //いろいろな処理 14}]); 15.directive("directiv2", ["$http", function ($http) { 16 return { 17 restrict: 'E', 18 scope: {}, 19 templateUrl: 'directiv/directiv2', 20 link: function (scope, element, attr) { 21 //いろいろな処理 22}]);
###試したこと
.runは試しましたが、親画面の完了時にしか発生しないため、使えませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/01 05:29
2016/11/04 07:54
2016/11/04 08:00 編集