2013-05-14 68 views
0

重定向在下面的代碼中不起作用。我的console.log()工作正常,但URL不會更改。不用說,我爲什麼會感到困惑。我已經改變了這個URL,這是我的應用程序的另一部分,它的效果很好。無法更改位置路徑

angular.module('workstation.process.approval', [ 
     /* Dependencies */ 
     'workstation.services' 
    ]). 

    config(['$routeProvider', function($routeProvider) { 
     /* URL mappings */ 
     $routeProvider. 
      when('/approval', {templateUrl: 'partials/loading.htm', controller: 'ApprovalCtrl'}). 
      when('/approval/dashboard', {templateUrl: 'partials/approval/dashboard.htm', controller: 'ApprovalCtrl'}) 
    }]). 

    controller('ApprovalCtrl', ['$scope', '$cookieStore', 'WorkflowProcessService', 'socketUrl', '$location', function ($scope, $cookieStore, WorkflowProcessService, socketUrl, $location) { 
     var socket = portal.open(socketUrl+'/socket/workstation/approval'); 
     socket.on({ 
      open: function() { 
       this.send('getDashboard', { 
        workstationUuid: $cookieStore.get('workstationUuid') 
       }, function(r) { 
        $scope.dashboard = r; 
        console.log('swap-path', r); 
        $location.path('/approval/dashboard'); //NOT WORKING 
       }); 
      }, 
      close: function (reason) { 
       console.log(reason); 
      } 
     }); 
    }]); 
+5

嘗試增加'$範圍$適用()'你改變路徑之後。套接字'on'回調在Angular之外被調用,所以你可能需要告訴Angular運行一個摘要循環來注意這個變化。 –

回答

1

嘗試增加$範圍。$適用()更改路徑之後。回調函數中的套接字在Angular之外調用,因此您可能需要告訴Angular運行摘要循環來注意更改。 - 馬克Rajcok 5月14日在21:18

它感謝對我的作品

-1

我認爲,window.location()將滿足您的需求。

只需添加 $window作爲一個依賴

問候