我正在使用角度 ui-bootstrap 库,但我不知道如何为每个选项卡指定自定义href。
<tab ng-repeat="tab in tabs" active="tab.active" heading={{tab.name}}></tab>
在角度 ui-bootstrap 文档中,指定了一个可选参数select()但我不知道如何使用它来自定义每个选项卡的链接
改写问题的另一种方法是如何使用带有角度 ui-bootstrap 选项卡的路由
我正在使用角度 ui-bootstrap 库,但我不知道如何为每个选项卡指定自定义href。
<tab ng-repeat="tab in tabs" active="tab.active" heading={{tab.name}}></tab>
在角度 ui-bootstrap 文档中,指定了一个可选参数select()但我不知道如何使用它来自定义每个选项卡的链接
改写问题的另一种方法是如何使用带有角度 ui-bootstrap 选项卡的路由
我希望现在还不算晚,但我今天遇到了同样的问题。您可以通过以下方式实现:
1)在控制器中定义标签href:
$scope.tabs = [
{ title:"tab1", href:"#/route1/page1" },
{ title:"tab2", href:"#/route1/page2" }
];
2)声明一个函数来改变控制器中的哈希值:
$scope.changeHash = function(data) {
window.location.hash = data;
};
3) 使用以下标记:
<tabset>
<tab ng-repeat="tab in tabs" heading="{{tab.title}}"
active="tab.active" select="changeHash(tab.href)" />
</tabset>
我不确定这是否是最好的方法,我很想听听其他人的意见。
使用 angular-ui-router 时,只需要添加一个 ui-sref 属性即可。例如
<tabset>
<tab ng-repeat="tab in tabs" heading="{{tab.title}}"
active="tab.active" ui-sref="stateName({param:somevalue,param2:tab.somekey})" /></tabset>
为了避免 $rootScope:infdig 错误,我按照说明将函数更改为:
$scope.changeHash = function(data) {
$location.path(data);
};
但请记住在控制器中注入 $location 服务。