我有'交易'页面有3个标签(资金转帐,存款和迷你声明) 我还有一个包含菜单项的页面。如果单击该项目,则要在事务页面中打开特定选项卡。
我尝试了以下方式但没有工作,即只打开第一个标签
$scope.openAccountTabs = function(index){
$state.go("Transactions");
$ionicTabsDelegate.select(index);
};
答案 0 :(得分:1)
1:更改状态定义,传递$stateParams
.state('app.my_tabs', {
url: "/{id:[a-zA-Z0-9]{1,24}}/{index:[a-zA-Z]{0,12}}",
cache:false,
views: {
'menuContent@app': {
controller: 'TabCrtl',
templateUrl: "js/ModelOne/templates/TabView.html"
}
}
})
注意:id为$ stateParams用于传递给API.not与标签UI相关。
2:点击按钮,传递要打开的标签的索引(0 =第一个标签,1 =第二个标签):
ui-sref="app.my_tabs({id:oneOrder._id,index:1})"
3:在Tab UI中:在默认选项卡中选择on-select,我尝试在ion-tabs中使用ng-init,这样该方法只能调用一次。但它没有用:
<ion-tabs id="tab_view" class="tabs-top tabs-program tabs-color-positive">
<ion-tab title="tab1" on-select="selectTabWithIndex()">
4:TabCrtl中的调整很少:
var firstIndex = $stateParams.index;
$scope.selectTabWithIndex = function() {
if(firstIndex != null) {
if (firstIndex == 1) {
console.log("$stateParams.index :" + firstIndex);
$ionicTabsDelegate.select(1);
} else {
$ionicTabsDelegate.select(0);
}
firstIndex=null;
}
}
注意:firstIndex=null;
仅用于在再次点击标签时停止检查条件。我的错误逻辑,让你自己..!
多数民众赞成......它,它的工作......!一切顺利。!