我目前正在使用Ionic v1进行一个项目。我在项目中有多个用户类型,其中每个用户类型都必须根据他们的时间被重定向到不同的页面。我无法做到这一点。这是我的代码:
app.js:
.state('tab.login', {
url: '/login',
views: {
'tab-login': {
templateUrl: 'templates/tab-login.html',
controller: 'LoginCtrl'
}
}
})
.state('guest.home' , {
url: '/guesthome',
views: {
'guest-home': {
templateUrl: 'templates/guest-home.html',
controller: 'GuestCtrl'
}
}
})
.state('agent.home' , {
url: '/agenthome',
views: {
'agent-home': {
templateUrl: 'templates/agent-home.html',
controller: 'AgentCtrl'
}
}
})controller.js:
.controller('LoginCtrl', function($scope, $state) {
$scope.userLogin = function(email, password) {
Backendless.UserService.login( $scope.email, $scope.password, true )
.then( $scope.userLoggedIn )
.catch ( $scope.gotError )
}
$scope.userLoggedIn = function( user ) {
console.log("User has logged in");
if ( user.user_type === "g" )
$state.go('guest.home');
else
$state.go('agent.home');
}
$scope.gotError = function( err ) {
console.log( "error message - " + err.message );
console.log( "error code - " + err.statusCode );
}
})标签-login.html:
<ion-content class="padding" ng-controller="LoginCtrl">
<div class="list">
<label class="item item-input item-floating-label">
<span class="input-label">Email</span>
<input type="text" placeholder="Email" ng-model="email">
</label>
<label class="item item-input item-floating-label">
<span class="input-label">Password</span>
<input type="password" placeholder="Password" ng-model="password">
</label>
</div>
<div class="text-center">
<button class="button button-positive" ng-click="userLogin()">
Login
</button>
</div>
</ion-content>我搞错了,error message - Could not resolve 'guest.home' from state 'tab.login',我做错什么了?
发布于 2017-11-22 17:09:22
我认为这个问题可能与这样一个事实有关:你在你的州名上使用了点,而没有定义一个抽象的状态来容纳孩子。
尝试一下没有点(“guesthome”可能?),或者改变你的路由,让它有抽象的状态。
下面是一个例子:
$stateProvider
.state('setup', {
url: '/setup',
abstract: true,
templateUrl: 'js/views/setupView.html',
controller: 'SetupController'
})
.state('setup.bluetooth', {
url: '/bluetooth',
views: {
'setupContent': {
templateUrl: 'js/views/bluetoothSetupView.html',
controller: 'BluetoothSetupController'
}
}
})
.state('setup.truck', {
url: '/truck',
views: {
'setupContent': {
templateUrl: 'js/views/truckSetupView.html',
controller: 'TruckSetupController'
}
}
})https://stackoverflow.com/questions/45586852
复制相似问题