2016-11-22 77 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试图消除这一点。仍然有这个问题 –