Я следую этому уроку .Я реализовал часть проверки подлинности телефона, и после страницы входа и подтверждения $state.go
не перенаправляет.Код очень прост, я не понимаю, почему это происходит.
// confirmation controller:
export default class ConfirmationCtrl extends Controller {
constructor() {
super(...arguments);
this.phone = this.$state.params.phone;
}
confirm() {
if (_.isEmpty(this.code)) return;
Accounts.verifyPhone(this.phone, this.code, (err) => {
if (err) return this.handleError(err);
this.$state.go('profile');
});
}
handleError(err) {
this.$log.error('Confirmation error', err);
this.$ionicPopup.alert({
title: err.reason || 'Confirmation failed',
template: 'Please try again',
okType: 'button-positive button-clear'
});
}
}
ConfirmationCtrl.$name = 'ConfirmationCtrl';
ConfirmationCtrl.$inject = ['$state', '$ionicPopup', '$log'];
И маршруты:
// relevant part from routes.js
.state('confirmation', {
url: '/confirmation/:phone',
templateUrl: confirmationTemplateUrl,
controller: 'ConfirmationCtrl as confirmation'
})
.state('profile', {
url: '/profile',
templateUrl: profileTemplateUrl,
controller: 'ProfileCtrl as profile',
resolve: {
user: this.isAuthorized
}
})
Там нет сообщения об ошибке.Я не понимаю, что я делаю не так, кажется, все в порядке, я знаю, что проверка проходит, потому что я пытался изолировать проблему после выполнения чего-то вроде:
Accounts.verifyPhone(... yada yada ...)
var verification = Accounts.isVerified();
if verification { console.log('verified:', verification); this.$state.go('profile') }
Так что проблема определеннос $ state.go он ничего не делает, и нет ошибок, предупреждений или ничего.Что не так?