1

モーダルの内部を使用して、<ng-include>いくつかのオプションに基づいて条件付きでさまざまなコンテンツをロードしています。

コンテンツは、モーダルがいずれかのモード (heh) で起動されたとき、またはユーザーがドロップダウンを変更したときに選択されます。

これらのケースのいずれにおいても、このようなテンプレートのセクションは、適切なモーダル コンテンツに読み込まれます。

<!-- Load in the correct modal contents -->
<ng-include src="'modals/contents-'+ form.type +'.html'"></ng-include>

次に、ロードするmodals/contents-addressForm.htmlか、場合によっては何でもします。

トリックは、異なるフォームは異なるサイズです。それらが読み込まれると、モーダルはそれ自体を再配置する必要があります。

変数を試してみ$watchました。これにより、モーダル起動時に変更と初期値の両方が検出されますが、まだコンテンツにロードされていないform.typeため、再配置が早すぎます。ng-include私は延期を試みましたが、これは必ずしも十分な長さではありません。任意の長さのタイムアウトを試すこともできますが、これは... 任意のようです。

ng-include がいつ読み込まれるかを知る方法はありますか? 次の ng-include が読み込まれるのはいつですか?

4

2 に答える 2

2

docsによると、$includeContentLoadedこれを伝えるために呼び出されたスコープイベントをリッスンできるはずです。

$scope.$on('$includeContentLoaded', function () {
    // it has loaded!
});
于 2014-08-20T05:39:25.443 に答える
1

ドキュメントを読んでください。

onload (オプション) 新しいパーシャルがロードされたときに評価する式。

<!-- Load in the correct modal contents -->
<ng-include src="'modals/contents-'+ form.type +'.html'"
            onload="myFunction()"></ng-include>
于 2014-08-20T06:56:01.920 に答える