1

私は、組み込みの Android システム (システムの webview) で実行する必要があるページに取り組んでいますが、これは悲劇的に遅いです。実際には非常に遅いため、ページをロードすると、AngularJS がすべてのバインディングを更新する前に、モデル テキストがページに 0.5 秒間表示されたままになることがあります。これは煩わしく、明らかに望ましくありません。

ng-cloakページの要素の無限の順列を追加しました。また、スタイル シートに次のスタイルを追加しました。

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

コンテンツを隠したくないだけで、イオンのせいだと思います。AngularJS についてよくわからないので、my-cloakコンパイルとリンク前に要素にクラスを追加し、リンク後に削除するディレクティブを作成してみました。それはうまく機能しましたが、常に機能するとは限りませんでした。

補間関数を「装飾」する(私の深さから抜け出す)など、さらにいくつかのことができることについて読んだことがありますが、ここにリストされているさまざまな提案の1つ(evalAsyncなど)かもしれませんが、十分に知りませんこれらのソリューションが実際に何をするかを理解する角度。AngularJS に移行するとき、jQuery のバックグラウンドから来るのは非常に困難です。

そのため、どんな助けでも本当に感謝しています。消化されていないテキストが画面に表示されないようにしたいだけです。基本的には ng-cloak が行うべきことを行いますが、システムが遅い場合はそうします。ありがとう!

4

1 に答える 1

1

これはあなたが探している答えではありませんが、書くための良い習慣があります

<span ng-bind="data">&nbsp;</span> 

(したがって、{{data}} の点滅はありません)。

  • ページにすでに ng-cloak スタイルがあります。angularアプリでレンダリングされたページのヘッダーを見てください。

  • 次のようなことができます:

<body ng-show="loaded"></body>scope.loaded = trueデータがロードされた後、コントローラーに設定されます。

于 2016-06-15T14:18:12.157 に答える