0

私のラベルのAngularJSディレクティブ/モデルの読み込みに問題があります。私はテーブルを作るための指示を持っています。あなたは以下のスニペットで見ることができるように、すべてのヘッダ名は、「アクション」1を除いて、コントローラから渡すことによって動的に構築されています:初回の読み込み時にラベルが欠けています

<div class="col-xs-12" ng-cloak> 
    <custom-data-table grid-options="ctrl.gridOptions"></custom-data-table> 
</div> 

そして、私のコントローラで:

function MyController(allInjections) { 

    var ctrl = this; 

    //Load some stuff 

    ctrl.gridOptions = []; 

    function initCtrl() { 

     ctrl.gridOptions = { 
      // all fields 
     }; 

     // some other stuff 
    } 

    initCtrl(); 
} 

ディレクティブの作品よく、ほとんどの時間が、いくつかの時間は、主に私のラベルが読み込まれていないいくつかの理由で、ページを読み込む最初に。絵を見て。

以下の画像は、私が直面している問題を示しています。最後に

function CustomDataTable(allInjections) { 

    var _dirPath = 'table.html'; 

    var directive = { 
     restrict: 'EA', 
     templateUrl: _dirPath, 
     scope: { 
      gridOptions: '=', 
      checks: '=' 
     }, 
     link: linkFunc 
    }; 

    function linkFunc($scope) { 

     console.trace($scope.gridOptions); 

     //do some stuff 
    } 
} 

table 1

この表の画像は、私が

table 2

は私が似受け付けておりますものを見るために私の指示にログを追加した期待していものですこの後、何が起きているのかを調べるためにデバッグすると、私のディレクティブが2回ロードされていることに気づきました(私はk今すぐ正確になぜ)ラベルが動作するとき。私は無効になってキャッシュをテストしていたラベルはよく

log 1

ロードされていないときにラベルが

log 2

をロードされているログにログ

ログを見てください。

答えて

0

ng-cloakディレクティブを使用できます。 ngCloakディレクティブは、AngularJS htmlテンプレートが、アプリケーションの読み込み中に生の(コンパイルされていない)フォームでブラウザによって短時間表示されないようにするために使用されます。このリンクをチェックしてください:https://docs.angularjs.org/api/ng/directive/ngCloak

+0

htmlコードスニペットからわかるように、私のdivには既にngCloakが使用されています – kaahxd

関連する問題