1

読み込まれるテンプレートと、渡されるトランスクルードされたコンテンツを持つディレクティブを作成しています。したがって、基本的に私のhtmlは

<my-directive>
    <div>Some transcluded content</div>
</my-directive>

ただし、ページが読み込まれると、一瞬、ページ上のトランスクルージョンされたコンテンツだけが表示されます。ページが最初に読み込まれてからディレクティブ テンプレートが読み込まれるまでに遅延があると思います。ディレクティブ テンプレートが読み込まれるまで、トランスクルージョンされたコンテンツを非表示にする方法はありますか?

どうもありがとう、最初にすぐにロードするのは本当に不快な経験です. これを修正する方法を知っている人はいますか?

4

2 に答える 2

1

さて、わかりましたので、を使用して機能するソリューションを見つけましたngCloakここの指示に従い、このcssを追加しました

[ng\:cloak], [ng-cloak], .ng-cloak {
  display: none !important;
}

そしてng-cloak私の指令への指令

<my-directive id="..." class="..." ng-cloak>
    <div>Transcluded content</div>
</my-directive>

これにより、ディレクティブがコンパイル/評価されるまで div が表示されなくなります。うまくいけば、これはこの問題に遭遇した他の人の助けになります。

于 2014-12-26T02:28:59.887 に答える
0

クラスを一時的なディレクティブに追加するng-hideと、angular が動作するとすぐに自動的に削除されます。

<my-directive ng-show="true" class="ng-hide">
    <div>Some transcluded content</div>
</my-directive>

CSSファイルに定義.ng-hide { display: none }するか、次のように書くことができます:

<my-directive>
    <div ng-bind="Some transcluded content"></div>
</my-directive>

お役に立てれば!

ありがとう、
SA

于 2014-12-26T02:01:47.090 に答える