Angular-Strap を使用しています。ポップオーバーのコンテンツでディレクティブを使用したい。これは、Angular-Strap (bs-popover) からの関連コードです。
popover.getPosition = function () {
var r = $.fn.popover.Constructor.prototype.getPosition.apply(this, arguments);
$compile(this.$tip)(scope);
scope.$digest();
this.$tip.data('popover', this);
return r;
};
問題は、最初にポップオーバーの配置が他の時間とは異なる方法で計算されることです。デバッグ後、コンテンツを表示するはずのポップオーバーが初めてコンパイルされていないことに気付きました。コンパイル関数に非同期プロシージャが含まれているようです。ツールチップは(キャッシュのように)保存されるため、次にポップオーバーが計算されると、コンテンツはすでにコンパイルされており、正しい結果が得られます。