Angular UI で次のタブを作成したいと考えています。
(出典:gyazo.com)
そのため、Bootstap のクラス名/マークアップに基づいてスタイルを追加しています。
.nav-tabs > li.new > a {
padding-top: 5px;
}
.nav-tabs > .new > a:after {
content: "NEW";
color: indianred;
font-size: 10px;
vertical-align: super;
padding-left: 2px;
}
(ご覧のとおり、上<a>
付き文字のテキストを追加した後、パディングを少し補正する必要があります。そうしないと、押し下げられます。)
次に、html/js
ファイルに次のマークアップとコードがあります。
HTML:
<tabset>
<tab ng-repeat="tab in tabs" heading="{{ tab.title }}" active="tab.active" ><!-- ng-class="{new: tab.new}"-->
<div ng-include="tab.page"></div>
</tab>
</tabset>
JS:
var TabsDemoCtrl = function ($scope) {
$scope.tabs = [
{ title:"Tab 1", content:"Dynamic content 1" },
{ title:"Tab 2", content:"Dynamic content 2", active: true, 'new': true }
];
};
したがって、残っているのは、上記の配列定義"new"
に基づいて、Angular に正しい要素に名前を付けたクラスを追加させることです。tabs
残念ながら、私はその方法を理解できませんでした。
ご覧のとおり、試してみましたがng-class="{new: tab.new}"
(html コードでコメントされています)、これは基本的にすべてのクラス機能を壊しng-class
、Dev Tools で表示すると正しくない属性が生成されます。
ng-class="{new: tab.new} {active: active, disabled: disabled}"
これがPlunkrです。