Я пытаюсь изучить Dart и AngularDart. Изначально все было хорошо, пока я не решил попробовать реализовать компонент вкладок на основе примера, похожего на домашнюю страницу Angular, например.
<tab>
<panel name="betty">
Content of betty tab
</panel>
<panel name="bob">
Content of bob tab
</panel>
</tab>
Я реализовал следующие компоненты.
@NgComponent(
selector: 'tab',
templateUrl: 'components/tab_component.html',
cssUrl: "http://netdna.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css",
publishAs: 'ctrl'
)
class TabComponent {
List<TabPanelComponent> panes = new List();
add(TabPanelComponent tab) {
panes.add(tab);
}
}
@NgComponent(
selector: 'panel',
templateUrl: 'components/tab_panel.html',
publishAs: 'ctrl',
map: const {
'name': '@name'
}
)
class TabPanelComponent {
String name;
TabComponent tab;
TabPanelComponent(this.tab) {
tab.add(this);
}
}
И следующие html шаблоны
компоненты/tab_component.html
<div class="tabble">
<ul class="nav nav-tabs">
<li ng-repeat="pane in ctrl.panes"><a href="#">{{pane.name}}</a></li>
</ul>
<div class="tab-content">
<content></content>
</div>
</div>
компоненты/tab_panel.html
<div class="tab-pane">
<content></content>
</div>
При запуске ctrl.panes в component/tab_component.html пуст, поэтому список имен вкладок не отображается. Я могу просмотреть код и увидеть, как панели добавляются в список в экземпляре TabComponent, а атрибут имени устанавливается в двух экземплярах TabPanelComponent.
Я чувствую, что я близок, но упускаю что-то очевидное. Любые указатели или советы, которые кто-то может предложить, чтобы помочь новичку в Dart, будут оценены.