重定向在下面的代码中不起作用。我的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);
}
});
}]);发布于 2013-07-01 17:04:16
尝试在更改路径后添加$scope.$apply()。回调中的套接字是在Angular外部调用的,因此您可能需要告诉Angular运行摘要周期来注意更改。- Mark Rajcok 5月14日21:18
对我很有效,谢谢
发布于 2013-05-15 06:54:48
我认为,window.location()会满足您的需求。
只需添加$window作为依赖项
问候
https://stackoverflow.com/questions/16551451
复制相似问题