2017-07-19 6 views
1

サーバファサードコールから設定されたコントローラ変数があります。同時に、変数はそのコントローラで定義されたディレクティブで参照されます。 (変数名:controllerReferredValueコントローラ値がAngularで更新されるまで指示文が実行されるのを待ちます。

ページが複数回読み込まれると、(サーバーファサードコールからの)コントローラで新しい値が更新されるまで待たずに、ディレクティブが最初に呼び出されます。したがって、ディレクティブは常に変数の前の値を持ちます。

しかし、私は、コントローラの値が正しく、我々はディレクティブは、コントローラの値が更新されるまで待った後、ディレクティブでそれを使用するように依頼することができますどのように

を更新されるとディレクティブを呼び出す必要があります?

'use strict'; 

angular.module('Common.directives') 
    .directive('directiveTemplate', function (resourceManager) { 
     return { 
      restrict: 'E', 
      templateUrl: resourceManager.templateUrl, 
      scope: { 
       controllerReferredValue: '=' 
      }, 

答えて

0

あなたの指示にタグのng-if="controllerReferredValue"を使用してください。この場合、ディレクティブは、変数が非偽の値にならない限り、初期化されません。

+0

初期ローディングに問題はありません。ディレクティブが複数回呼び出されると、常に以前のコントローラー変数値で更新されます。 (私も同様に質問を更新しました) –

関連する問題