Stateprovider $ state不在离子框架中工作

时间:2014-10-27 17:21:11

标签: angularjs ionic-framework angular-ui-router

我正在尝试将登录页面设置为初始状态。当用户点击注册用户时,我正在$ 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;


});

}])

但它没有做任何事情。 请帮忙

2 个答案:

答案 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视图