У меня есть компонент Angular.js
со списком вкладок. При нажатии на вкладку я назначаю ей ng-class
(активный), поэтому она выделяется. Это работает нормально, но я также хочу, чтобы первая вкладка была активной по умолчанию, когда пользователь впервые загружает страницу, но на данный момент при загрузке страницы ничего не выделяется.
Вот мой компонент:
'use strict';
angular.module('menuBar').component('menuBar', {
templateUrl: 'menu-bar/menu-bar.template.html',
controller: function menuBarController() {
this.menus = [
{
name: 'Tab1'
}, {
name: 'Tab2'
}, {
name: 'Tab3'
}, {
name: 'Tab4'
}, {
name: 'Tab5'
}
];
this.tab = this.menus[0].name;
this.setTab = function (tabId) {
this.tab = tabId;
}
this.isSet = function (tabId) {
return this.tab === tabId;
}
}
});
Вот мой html-шаблон:
<div class="navbar navbar-inverse navbar-collapse">
<div class="container">
<ul class="nav nav-tabs">
<li ng-repeat="menu in $ctrl.menus" ng-class="{active:tab.isSet(menu.name)}">
<a href ng-click="tab.setTab(menu.name)">{{menu.name}}</a>
</li>
</ul>
</div>
</div>
Может быть, что-то не так в этой строке, где я пытаюсь установить вкладку по умолчанию?
this.tab = this.menus[0].name;