如何在使用选项卡集加载应用程序时使选项卡激活
How to make tab active when application load using tabset?
当我的应用程序加载第一次它加载app.dit
页,但标签不显示活动一旦你开始点击标签后,它的工作,所以我想使第一个标签DIT
活跃时应用程序加载。
main.html
<uib-tabset active="active">
<uib-tab ng-repeat="tab in tabs" select="go(tab.route)" heading="{{tab.heading}}" active="tab.active" disable="tab.disabled">
<!--<div ui-view="">{{tab.route}}</div>-->
</uib-tab>
</uib-tabset>
ctrl.js
$scope.tabs = [{
heading: 'DIT',
route: 'app.dit',
active: true
}, {
heading: 'ST',
route: 'app.st',
active: false
}, {
heading: 'UAT',
route: 'app.uat',
active: false
}, ];
$scope.go = function(route) {
$state.go(route);
};
function active(route) {
return $state.is(route);
}
$scope.active = active;
$scope.$on("$stateChangeSuccess", function() {
$scope.tabs.forEach(function(tab) {
tab.active = active(tab.route);
});
});
app.js
$urlRouterProvider.otherwise(function($injector) {
var $state = $injector.get('$state');
$state.go('app.dit');
});
$stateProvider
.state('app', {
abstract: true,
url: '',
templateUrl: 'web/global/main.html',
controller: 'MainCtrl'
})
.state('app.dit', {
url: '/dit',
templateUrl: 'view/partials/dit.html',
controller: 'DitCtrl'
})
.state('app.st', {
url: '/st',
templateUrl: 'view/partials/st.html',
controller: 'StCtrl'
})
.state('app.uat', {
url: '/uat',
templateUrl: 'view/partials/uat.html',
controller: 'UatCtrl'
})
.state('app.prod', {
url: '/prod',
templateUrl: 'view/partials/prod.html',
controller: 'ProdCtrl',
})
,
从文档来看,<uib-tabset active="active">
中绑定的active
变量必须是您想要显示为活动的选项卡的索引。
将控制器中的$scope.active
变量设置为0(或您希望的任何索引)应该会有所帮助。
此外,您可以根据当前的$state直接动态设置$scope.active
变量(而不是依赖于每个选项卡的active
bool并在$stateChangeSuccess
期间操作它,这可能会冒显示2+活动选项卡的风险)。
var returnActiveTabIndex = function() {
var current_route = $state.$current.name; //or however you want to find your current $state
var tab_routes = $scope.tabs.map(function(tab) { return tab.route });
var active_index = tab_routes.indexOf(current_route);
return (active_index > -1) ? active_index : 0;
};
$scope.active = returnActiveTabIndex();
额外的好处是在浏览器重新加载后,CTRL将读取您的当前状态(例如,"app.st"),并根据匹配的路由设置"app.st"选项卡为活动
相关文章:
- 在不同的选项卡中对Web应用程序的更改做出反应
- AngularJS单页应用程序中的Toggable选项卡
- PHP 应用程序中的选项卡 - 融合图表
- 如何使用Javascript/jQuery将信息从查询字符串传递到Facebook中的页面选项卡应用程序
- Dojo,基本选项卡应用程序
- 在我的html页面-web应用程序用户界面的一个选项卡中的另一个html页面中的选项卡
- Facebook选项卡应用程序动态URL
- 在HTML5、CSS、JavaScript中添加选项选择器,类似于移动应用程序中的选项设置
- 什么's是在前端应用程序中放置配置选项的最常见方式
- 从Web应用程序发送地理位置,即使选项卡不在焦点上
- 更改移动web应用程序的字体大小选项
- 选项卡在 MVC 应用程序中不起作用
- 不支持请求方法“选项” - Spring 引导应用程序
- 需要帮助Facebook应用程序和页面选项卡高度使用FB调整大小.画布设置大小
- 创建AngluarJS应用程序,但没有SEO友好URL的服务器端选项.这会起作用吗?
- 开发多租户应用程序,以便用户可以在同一浏览器中使用不同的选项卡在不同的组织中工作
- 您能否检查 Web 应用程序是否已在另一个浏览器选项卡上运行
- 除了钛之外的 Html5 桌面 Web 应用程序选项
- 用 Javascript/HTML5 编写的 Windows 应用商店应用程序的代码度量选项
- 来自与科尔多瓦一起使用的基于Android HTML5的应用程序的弹出相机或视频捕获选项