我正在尝试将登录页面设置为初始状态。当用户点击注册用户时,我正在$ state.go(在控制器中)注册用户应该能够返回登录页面的页面。
angular.module('starter', ['ionic', 'starter.controllers','ui.router']).config(['$stateProvider','$urlRouterProvider',function($stateProvider, $urlRouterProvider).state('login',{
url:"/login",
templateUrl:'templates/login.html',
controller:'LoginCtrl'
})
.state('login.registerUser',{
url:"/registerUser",
views: {
'menuContent' :{
templateUrl:'templates/registerUser.html',
controller:'registerCtrl'
}
}
})
控制器
.controller('LoginCtrl', ['$scope', 'Auth', '$state', '$ionicPlatform','SessionService', function($scope, Auth, $state, $ionicPlatform, SessionService) {
$ionicPlatform.ready(function() {
window.scope = $scope;
$scope.credentials = {username: "", password: "", remember: ""};
$scope.userData = {username: "", id: ""};
var utils = {
createNewUser:function(){
console.log('here');//I CAN SEE THIS
$state.go('login.registerUser');//NOTHIN HAPPENS
}
};
$scope.goToRegistration = utils.createNewUser;
});
}])
但它没有做任何事情。 请帮忙
答案 0 :(得分:1)
你的语法有点搞砸了。试试这个:
angular.module('starter', ['ionic', 'starter.controllers','ui.router'])
.config(['$stateProvider','$urlRouterProvider',function($stateProvider, $urlRouterProvider){
$stateProvider
.state('login',{
url:"/login",
templateUrl:'templates/login.html',
controller:'LoginCtrl'
})
.state('login.registerUser',{
url:"/registerUser",
views: {
'menuContent' :{
templateUrl:'templates/registerUser.html',
controller:'registerCtrl'
}
}
})
});
答案 1 :(得分:0)
我不确定离子但是在一般的角度应用程序中,当您定义子状态时,您需要在页面中使用嵌套的ui视图或使用命名视图,视图名称可以是相对或绝对名称来自{ {3}}以及此docs
<p>login</p><div ui-view></div> //login template
<p>registerUser</p> //registerUser template
用于嵌套的ui视图