我是Ionic和AngularJS的新手,并且无法弄清楚为什么这不起作用,我只想检查何时在“主页”标签上,如果用户已输入其卡号,如果没有,则重定向他到适当的页面 这是我的控制器:
.controller('HomeCtrl', function($scope, $state) {
if (localStorage.getItem("cardId") == "")
{
console.log("redirecting to login");
$state.go('tab.dash');
}
})
$ state.go似乎什么都不做,但控制台日志正确显示。 我尝试使用$ timeout和$ location.path但没有成功。
以下是我的路线:
$stateProvider
.state('tab', {
url: '/tab',
abstract: true,
templateUrl: 'templates/tabs.html'
})
.state('tab.home', {
url: '/home',
views: {
'tab-home': {
templateUrl: 'templates/tab-home.html',
controller: 'HomeCtrl',
}
}
})
.state('tab.dash', {
url: '/dash',
views: {
'tab-dash': {
templateUrl: 'templates/tab-dash.html',
controller: 'DashCtrl',
}
}
})
.state('tab.map', {
url: '/map',
views: {
'tab-map': {
templateUrl: 'templates/tab-map.html',
controller: 'MapCtrl'
}
}
})
.state('tab.account', {
url: '/account',
views: {
'tab-account': {
templateUrl: 'templates/tab-account.html',
controller: 'AccountCtrl'
}
}
});
$urlRouterProvider.otherwise('/tab/home');
});
我做错了什么?我只想改变状态......
谢谢:)