gpt4 book ai didi

javascript - 在 AngularUI Bootstrap (ui.bootstrap.tabs) 中动态设置选项卡

转载 作者:行者123 更新时间:2023-11-29 17:55:17 25 4
gpt4 key购买 nike

我正在使用 AngularUI Bootstrap 的 tabs 指令和动态生成的选项卡。

<div ng-controller="TabsDemoCtrl">
<uib-tabset active="activeForm">
<uib-tab index="$index" ng-repeat="tab in tabs" >
<uib-tab-heading>{{tab.title}}</uib-tab-heading>
{{tab.content}}
</uib-tab>
</uib-tabset>

当更改“选项卡数组”时,UI选项卡进行了相应的修改,但是没有设置主动选项卡(尽管我明确地在 Controller 中设置了)

angular.module('ui.bootstrap.demo', ['ngAnimate', 'ngSanitize', 'ui.bootstrap']);
angular.module('ui.bootstrap.demo').controller('TabsDemoCtrl', function ($scope, $window) {
$scope.tabs = [
{ title:'Dynamic Title 1', content:'Dynamic content 1' },
{ title:'Dynamic Title 2', content:'Dynamic content 2' },
{ title:'Dynamic Title 3', content:'Dynamic content 3' },
{ title:'Dynamic Title 4', content:'Dynamic content 4' }
];

$scope.changeTabs = function(){
$scope.tabs = [
{ title:'Dynamic Title 5', content:'Dynamic content 5' },
{ title:'Dynamic Title 6', content:'Dynamic content 6' }
];
$scope.activeForm = 0; //Not working, how can I select tab dynamically?
};

$scope.model = {
name: 'Tabs'
};
});

谁能告诉我我错过了什么?

请在此处查看 Plunker:https://plnkr.co/edit/Ow7Cd1eidCgaLNOhX1Vl

提前致谢保罗

最佳答案

您需要将 activeForm 的设置包装在 $timeout 中:

$timeout(function(){
$scope.activeForm = 0;
});

这是一个已知问题 - https://github.com/angular-ui/bootstrap/issues/5805

已更新 plunkr

关于javascript - 在 AngularUI Bootstrap (ui.bootstrap.tabs) 中动态设置选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39700276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com