0
コードはそれをすべて言っています。
ngIfはDOMから要素を削除またはクローンするが、popoverディレクティブが影響を受ける理由(popover-is-open)はわかりません。
Plunker:https://plnkr.co/edit/eym62cur2cg1qyZzpQaf?p=previewngIfの内部でUI-Bootstrapのポップオーバーが表示されないのはなぜですか?
<div>
<input type="text"
uib-popover="This one will appear"
popover-placement="right"
popover-is-open={{true}}
/>
</div>
<div ng-if="true">
<input type="text"
uib-popover="This one will not appear because of ngIf even if true"
popover-placement="right"
popover-is-open={{true}}
placeholder="Why the ngIf prevent the popover to appear ??"
/>
</div>
私はそれを知っています。理由を理解したい。バグですか? – Antoine
私の理解によるとバグではありません。 ng-ifを評価した後で動的に要素を追加するので、その時点までにポップオーバーが初期化されているはずです。 ng-show hides/show(要素は既にhtmlに存在します)ので、ポップオーバーは何に関係なくバインドします。なぜng-ifを使用すると表示されないのですか?これが理にかなってほしい。 – Pradeepb