控制器在我甚至可以点击ng-cliclk =“logout()之前执行”我该如何防止这种情况
JS:
.controller('logOutCtrl', function($scope, taskref, $state) {
if (taskref.unauth()) {
$state.go('tabsController.pendingTasks');
} else {
$state.go('login');
}
})
模板:
<ion-list data-componentid="list5">
<ion-item ui-sref="settings" menu-close="" data-componentid="list-item9">Settings</ion-item>
<ion-item ui-sref="reminders" menu-close="" data-componentid="list-item10">Help & Reminders</ion-item>
<ion-item ui-sref="login" menu-close="" ng-controller="logOutCtrl" ng-cliclk="logout()" data-componentid="list-item12">Log out</ion-item>
</ion-list>
答案 0 :(得分:0)
Controller也就像我们在ng-controller
中使用它时执行的功能。所以你应该在$scope.logout()
中创建logOutCtrl
函数,并在该函数中添加相关的注销代码,而不是在控制器中公开编写代码。
修改后的控制器:
.controller('logOutCtrl', function($scope, taskref, $state) {
$scope.logout = function(){
if (taskref.unauth()) {
$state.go('tabsController.pendingTasks');
} else {
$state.go('login');
}
}
})
修改后的模板:
<ion-list data-componentid="list5">
<ion-item ui-sref="settings" menu-close="" data-componentid="list-item9">Settings</ion-item>
<ion-item ui-sref="reminders" menu-close="" data-componentid="list-item10">Help & Reminders</ion-item>
<ion-item ui-sref="login" menu-close="" data-componentid="list-item12">Log In</ion-item>
<ion-item menu-close="" ng-controller="logOutCtrl" ng-click="logout()" data-componentid="list-item12">Log out</ion-item>
</ion-list>