2016-09-23 11 views
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> 

答えて

0

あなたはあなた自身の問題の答えを持っています。 ng-ifはDOM要素を削除することを既に知っているので、ng-showを使用して問題を解決してください。

+0

私はそれを知っています。理由を理解したい。バグですか? – Antoine

+0

私の理解によるとバグではありません。 ng-ifを評価した後で動的に要素を追加するので、その時点までにポップオーバーが初期化されているはずです。 ng-show hides/show(要素は既にhtmlに存在します)ので、ポップオーバーは何に関係なくバインドします。なぜng-ifを使用すると表示されないのですか?これが理にかなってほしい。 – Pradeepb

関連する問題