アンギュラーjs bootstrap= tabset tab heading.html内にhtmlを書くことが可能かどうか疑問に思っています。タイトル内にsvgを追加しようとしています。私が抱えている問題。
<tabset>
<tab heading="<span>hello</span><em>1</em>">One</tab>
<tab heading="Two">Two</tab>
<tab heading="Three">Three</tab>
</tabset>
http://plnkr.co/edit/qFsFGDNUIJj9nIF51Ap
何か案は?
ありがとう
Angular Bootstrap v0.14 導入された新しいプレフィックス 以前に提供されたほとんどのコントロール。以下の元の答えは引き続き適用されますが、新しいタグ名uib-tabset
を使用する必要があります、uib-tab
、およびuib-tab-heading
。
<uib-tabset>
<uib-tab>
<uib-tab-heading>
<span>hello</span><em>1</em>
</uib-tab-heading>
One
</uib-tab>
<uib-tab heading="Two">Two</uib-tab>
<uib-tab heading="Three">Three</uib-tab>
</uib-tabset>
見出し内にHTMLが必要な場合は、tab
要素内でtab-heading
要素を使用する必要があります( docs の例に示すように)。
<tabset>
<tab>
<tab-heading>
<span>hello</span><em>1</em>
</tab-heading>
One
</tab>
<tab heading="Two">Two</tab>
<tab heading="Three">Three</tab>
</tabset>
更新されたプランカー ここ 。
バージョンversion 0.14.0
(2015.10.09)タブは0.14.0
を使用しているため、受け入れられる答えはi-bootstrap以前のuib-
については問題ありませんプレフィックス。
changelog を参照してください
したがって、すべてのタグをuib-
プレフィックスで置き換える必要があります
<uib-tabset>
<uib-tab>
<uib-tab-heading>
<span>hello</span><em>1</em>
</uib-tab-heading>
One
</uib-tab>
<uib-tab heading="Two">Two</uib-tab>
<uib-tab heading="Three">Three</uib-tab>
</uib-tabset>
TABタグにIDを指定し、jQueryを使用してhtmlを拡張できます。
... tab id = "myid" ....
次にjQuery( "#myid")。html( "新しいHTML")
[編集]テイラーブキャナンの答えは正解です!
Tabsディレクティブで使用されるテンプレートを見ると、見出しのコンテンツはエスケープされます: https://github.com/angular-ui/bootstrap/blob/192768e109b5c4a50c7dcd320e09d05fedd4298a/template/tabs/tab.html#L2 =
そのため、見出しでhtmlを使用することはできません。
次のようにタブテンプレートを再定義することで回避策を作成できます。
angular.module("template/tabs/tab.html").run(["$templateCache", function($templateCache) {
$templateCache.put("template/tabs/tab.html",
"<li ng-class=\"{active: active, disabled: disabled}\">\n" +
" <a ng-click=\"select()\" tab-heading-transclude ng-bind-html=\"heading\"></a>\n" +
"</li>\n" +
"");
}]);
また、htmlコンテンツを安全にバインドするには、angular-sanitize.jsを含める必要があります。
ここでの作業デモ: http://plnkr.co/edit/ep5f1GY12vSixT4xtxFy?p=preview