在处理Ionic Framework核心服务即$ state时,许多人似乎都在互联网上面临同样的问题。我今天花了3个小时,无法弄明白。
我有以下文件结构: 控制器:
我有一个服务文件(稍后将拆分服务),其中包含UserAccessController调用的服务。我试图在注册后将用户重定向到激活页面。要做到这一点,我使用:
$state.go('activate');
在另一个项目中,这项工作正常,但在这个项目中出现错误说:
无法阅读财产'去'未定义的 在UserAccessController.js:17
我在控制器文件中声明了$ state但仍然没有工作,第17行(调试器突出显示)state.go之前的几行确实有效。请协助。代码如下帮助
UserAccessController:
angular.module('starter.controllers').controller('UserAccessController', ['$scope', '$http', '$state', '$q', 'CreateUserService', function($scope, $http, $state, $q, CreateUserService){
//$scope.$state = $state
/*Function to redirect user to signup view*/
$scope.loadSignupView = function(path){
$state.go(path);
};
$scope.signup = function(user) {
if(user !== null)
{
var returnValue = CreateUserService.createAccount(user);
returnValue.then(function(data) {
console.log("Value is 1");
$state.go('activate'); //line 17
}, function(error) {
console.log("Error Caused");
});
}else{
console.log("Something went wrong while adding user");
}
};
}]);
app.js文件具有以下声明和路线:
var app = angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']);
,路线是:
.state('login', {
url: '/login',
templateUrl: 'templates/user-access/login.html',
controller: 'UserAccessController'
})
.state('activate', {
url: '/activate',
templateUrl: 'templates/user-access/activation.html',
controller: 'UserAccessController'
})
任何人都可以建议这里有什么问题。谢谢,