我在AngularDart中创建了一个标签组件
@Component(
visibility: Directive.CHILDREN_VISIBILITY,
selector: "rtabs",
templateUrl: "packages/myapp/components/rtabs.html",
publishAs: "cmp",
useShadowDom: false
)
class RTabsComponent {
@NgAttr('label')
String label;
int selectedTabIndex = 0;
RTabsComponent(){
}
var tabs = new List<RTabComponent>();
add(RTabComponent tab) {
tabs.add(tab);
}
}
@Component(
selector: "rtab",
template: "<content></content >",
publishAs: "cmp",
useShadowDom: false
)
class RTabComponent {
@NgAttr('name')
String name;
RTabComponent(RTabsComponent tabs){
tabs.add(this);
}
}
我对组件的使用就像
<rtabs label="System Settings">
<rtab name="test">test 123</rtab>
<rtab name="test 2">test abc</rtab>
<rtab name="test 3"><input-custom ng-model="cmp.somevalue"></input-custom></rtab>
</rtabs>
我在rtabs组件模板中出现了rtab内容的问题。我不确定这是正确的语法。
如果我这样做
<div ng-repeat="tab in cmp.tabs">
{{tab}}
</div>
它只打印出&#34; RTabComponent&#39;&#34;的实例,这是可以理解的。
但是我如何循环模板中的cmp.tabs并呈现rtab的实际内容?
我需要使用ng-model内容和第3个选项卡中的其他组件来处理内容。
答案 0 :(得分:2)
回答我自己的问题。
将模板添加到rtab之类的
<div ng-class="{'tab-pane': true, active: cmp.active}">
<content></content>
</div>
并在rtabs.html中
<div class="tab-content">
<content></content>
</div>