2014-10-27 60 views
0

我想將我的登錄頁面設置爲初始狀態。當用戶點擊註冊用戶時,我正在執行$ 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

我不確定關於離子,但在一般的角度應用程序,當你定義一個孩子狀態,你需要在你的頁面中有一個嵌套的UI視圖或使用命名的視圖,視圖名稱可以是相對或絕對名稱從docs檢查這個和這個plunkr

<p>login</p><div ui-view></div> //login template 
<p>registerUser</p> //registerUser template 

嵌套UI視圖

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' 
     } 
    } 

}) 
}); 
+0

對不起,我這樣做,但它沒有奏效。 – 2014-10-28 15:15:52

+0

你有什麼錯誤? – 2014-10-28 16:55:42

+0

什麼都沒有。我用模態代替它。 – 2014-10-28 17:26:01