2017-03-02 76 views
0

你好我與離子框架工作,我想重定向到另一個頁面

成功後登錄。當我用命令來運行項目:

離子服務然後state.go $工作正常,但是當我運行使用

離子服務--lab項目它不工作

.controller('AppCtrl', function($scope,$http, $ionicModal,$location,$state, $timeout) { 

    // Form data for the login modal 
    $scope.loginData = {}; 

    // Create the login modal that we will use later 
    $ionicModal.fromTemplateUrl('templates/login.html', { 
     scope: $scope 
     }).then(function(modal) { 
     $scope.modal = modal; 
    }); 

    // Triggered in the login modal to close it 
    $scope.closeLogin = function() { 
     $scope.modal.hide(); 
    }; 

    // Open the login modal 
    $scope.login = function() { 
     $scope.modal.show(); 
    }; 

    // Perform the login action when the user submits the login form 
    $scope.doLogin = function() { 

     alert($scope.loginData.username); 
     alert($scope.loginData.password); 

     $http({ 
      method: 'POST', 
      url: 'http://localhost/home_owner12/admin/api/login', 
      data: {username:$scope.loginData.username,password:$scope.loginData.password}, 
      headers : { 
      'Content-Type' : 'application/x-www-form-urlencoded; charset=UTF-8'} 
     }) 
     .then(function successCallback(response) 
     { 

      if(response.data.length > 0) 
      { 

       $state.go('app.search'); 
       console.log('the state is '+$state.current); 

      } 
      else 
      { 
       alert("Invalid email or pasword"); 
       ///$location.path('/search'); 

      } 
     }, function errorCallback(response) 
     { 
      alert("Invalid email pasword"); 
     }); 
    }; 
    }) 

這裏是狀態:

config(function($stateProvider, $urlRouterProvider) { 
    $stateProvider 

    .state('app', { 
    url: '/app', 
    abstract: true, 
    templateUrl: 'templates/menu.html', 
    controller: 'AppCtrl' 
    }) 

.state('app.search', { 
    url: '/search', 
    views: { 
     'menuContent': { 
     templateUrl: 'templates/search.html', 
     controller: 'AppCtrl' 
     } 
    } 
    }); 

和模塊

angular.module('starter', ['ionic', 'starter.controllers', 'ui.router']) 
+0

代碼是'的console.log( '狀態爲' + $ state.current);'執行? – lin

+0

@lin當我使用的結果是: - 狀態是[object Object] –

回答

0

的app.search頁的控制器進入AppCtrl到位。

因爲AppCtrl第二次運行,它正在進入一個無限循環。

更換與

config(function($stateProvider, $urlRouterProvider) { 
      $stateProvider 

      .state('app', { 
      url: '/app', 
      abstract: true, 
      templateUrl: 'templates/menu.html', 
      controller: 'AppCtrl' 
      }) 

     .state('app.search', { 
      url: '/search', 
      views: { 
       'menuContent': { 
       templateUrl: 'templates/search.html', 
       controller: 'SearchCtrl' 
       } 
      } 
      }); 

.controller('SearchCtrl', function($scope,$http, $ionicModal,$location,$state, $timeout) { 
............ 
......... 
....... 
})