2016-11-22 57 views
1

首次單擊按鈕時,它將重定向到指定的位置,但稍後單擊它將被重定向到登錄表單。我完全卡住..請幫助。使用location.path重定向()

$scope.edit = function() {  
     $location.path('/Appointment');  
}  

$stateProvider.state('Appointment', {  
      url: '/Appointment', 
      parent: 'common', 
      templateUrl: 'templates/Appointment.html', 
      controller: 'AppointmentCtrl'  
     }); 

$ urlRouterProvider.otherwise( '/登錄');

+0

問題可能是你的'run'塊或'AppointmentCtrl'。因此添加更多代碼 –

+0

您是否可以通過示例代碼片段重現問題? – Nitheesh

+0

可能是URL添加了額外文本的地方。但不知道,一旦你顯示你的代碼,那麼我們就可以解決它 –

回答

0

您可以使用角度爲$window

例如

(function() { 
    'use strict'; 

    angular 
     .module('app') 
     .controller('LoginCtrl', LoginCtrl); 

    LoginCtrl.$inject = ['$window', 'loginSrv', 'notify']; 

    function LoginCtrl($window, loginSrv, notify) { 
     /* jshint validthis:true */ 
     var vm = this; 
     vm.validateUser = function() { 
      loginSrv.validateLogin(vm.username, vm.password).then(function (data) {   
       if (data.isValidUser) {  
        $window.location.href = '/redirectpath'; 
       } 
       else 
        alert('Login incorrect'); 
      }); 
     } 
    } 
})(); 

希望這會有所幫助。

0

嘗試使用$ state.go(),而不是$location.path()

$scope.edit = function() {  
     $state.go('Appointment');  
} 
+0

我試過使用$ state.go它是在第一次點擊時重定向正確,稍後重定向到登錄 –

+0

似乎第二次狀態'約會'變得未定義,因此重定向到您的方式。父對象:狀態對象中的'common'是否真的是必須的?嘗試刪除父:「常見」,看看。 –

+0

Suhaii試圖消除這一點。仍然有這個問題 –