我正在尝试分享两个标签的视图内容和控制器。我希望当我单击选项卡时,在我的控制器中,我可以选择选择哪个选项卡,如果是“仪表板”选项卡或“朋友”选项卡。
我该怎么做?
//same controller fot the tabs
.controller('DashCtrl', function($scope) {
console.log("dash")
})
.state('tab', {
url: "/tab",
abstract: true,
templateUrl: "tabs.html"
})
//same template and controller
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'tab-dash.html',
controller: 'DashCtrl'
}
}
})
.state('tab.friends', {
url: '/friends',
views: {
'tab-friends': {
templateUrl: 'tab-dash.html',
controller: 'DashCtrl'
}
}
})
答案 0 :(得分:0)
您的代码很好,您可以通过控制器获取选项卡的名称,该名称在app.config
中定义为状态。
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'tab-dash.html',
controller: 'DashCtrl'
}
}
})
.state('tab.friends', {
url: '/friends',
views: {
'tab-friends': {
templateUrl: 'tab-friends.html',
controller: 'FriendsCtrl'
}
}
})
你唯一想念的是为朋友选项卡注入查看和控制器,你应该将其定义为顶级代码,你的控制器也会向你发送选项卡的名称,当您选择选项卡时,控制器将控制台名称。
.controller('DashCtrl', function($scope) {
console.log("DashCtrl")
})
.controller('FriendsCtrl', function($scope) {
console.log("FriendsCtrl")
})
你的代码很好我的朋友,只是简单的错误。