HTMLコンテンツを使用してAngularJSUIブートストラップポップオーバーを作成するにはどうすればよいですか?
How Do I Create An Angularjs Ui Bootstrap Popover With Html Content
解決:
アップデート :
これに見られるように、デフォルトのテンプレートをオーバーライドせずにこれを実行できるはずです。
オリジナル:
角度1.2+現在ng-bind-html-unsafeは削除されました。 $ sceサービスリファレンスを使用する必要があります。
信頼できるHTMLを作成するためのフィルターは次のとおりです。
MyApp.filter( 'unsafe'、['$ sce'、function($ sce){return function(val){return $ sce.trustAsHtml(val);};}]);これが上書きされます Angular Bootstrap 0.11.2 このフィルターを利用したテンプレート
//安全でないhtmlをバインドするためのポップオーバーテンプレートを更新しますangular.module( 'template / popover / popover.html'、[])。run(['$ templateCache'、function($ templateCache)$ templateCache.put( 'template / popover / popover.html '、' n '+' n '+' n '+' n '+'ng-bind-html = 'content |動作を継続するにはunsafe '属性。
更新された会話については、ここで問題を確認してください。
popover-templateディレクティブを使用する
のバージョンを使用している場合 角度UI 以上 0.13.0 、あなたの最良のオプションは、を使用することですpopover-templateディレクティブ。使用方法は次のとおりです。
私のHTMLポップオーバーポップオーバーコンテンツ注意:テンプレート名の前後の引用符を忘れないでくださいpopover-template = '' popover.html ''。
見る デモプランカー
補足として、ポップオーバーテンプレートを、で宣言する代わりに、専用のhtmlファイルで外部化することができます。上記の要素。
見る 2番目のデモプランカー
githubプロジェクトにソリューションを投稿しました:https://github.com/angular-ui/bootstrap/issues/520
この機能をプロジェクトに追加したいのですが、ここにパッチがあります。
それらのディレクティブを追加します。
angle.module( 'XXX')。directive( 'popoverHtmlUnsafePopup'、function(){return {restrict: 'EA'、replace:true、scope:{title: '@'、content: '@'、placement: '@ '、animation:'& '、isOpen:'& '}、templateUrl:' template / popover / popover-html-unsafe-popup.html '};})。directive(' popoverHtmlUnsafe '、[' $ tooltip '、function ($ tooltip){return $ tooltip( 'popoverHtmlUnsafe'、 'popover'、 'click');}]);そして、テンプレートを追加します。
使用法:
plunkrで表示:http://plnkr.co/edit/VhYAD04ETQsJ2dY3Uum3?p = preview