我正在构建一个小型消息系统。我在我的状态(收件箱,发件箱)中使用选项卡。此外,我想点击“联系”链接时发送一条消息。如果我点击该链接,这应该发生:
此刻,这就是我所拥有的:
<a ng-click="mailContact()">contact</a>
和我的控制员:
$scope.mailContact = function() {
$state.go('root.messages');
$scope.openTab('new');
};
显然这不起作用,因为$ scope.openTab('new');永远不会执行。状态更改为我想要的,但标签未打开。我不清楚如何完成它。
答案 0 :(得分:0)
好吧,愚蠢的事情是我有一个初始化打开&#34;收件箱&#34; ...
现在我写了一个可以解决问题的服务。
app.factory('msgTabService', ['$rootScope', function($rootScope) {
var msgTabService = {};
var tabname = "inbox";
msgTabService.set = function(tab) {
tabname = tab;
};
msgTabService.get = function() {
return tabname;
};
msgTabService.openTab = function(tab) {
if ($rootScope.currenttab !== tab)
{
$rootScope.currenttab = tab;
msgTabService.set(tab);
}
};
return msgTabService;
}]);
问题可能类似于:Save State of Tab content when changing Route with angularjs and BootStrap Tabs