我不使用'window.location'也沒有與'一個href',也許這會導致您的問題更改網址。 我使用狀態來更改網址。
我用「ui.router」到主模塊,並注入$ stateProvider,$ urlRouterProvider到配置(函數()),之後在函數體我把狀態(的網址我頁),並且我稱他們從任何地方到應用
1.主模塊與該狀態:
angular.module('MainApp')
.config(function ($stateProvider, $urlRouterProvider, $locationProvider) { //$stateProvider & $urlRouterProvider are from ui.router module
.state('floorplan', {
url:/floorplan/:param1/:param2/:param3',
controller:'myCtrl1',
templateUrl:'/assets/modules/part3/part3.html'
onEnter: function() {
},
onExit: function() {
}
})
.state('seating', {
url: '/seating',
template: '<div>Seating is under construction</div>'
})
.state('event_details', {
url: '/event/details',
template: '<div>Event details is under construction</div>'
})
.state('reports', {
url: '/reports',
template: '<div>Reports is under construction</div>'
})
.state('part3', {
url: '/part3/:activeEventId/:activeHallId/:activeHallVariant',
controller: 'part3ctrl',
templateUrl: '/assets/modules/part3/part3.html',
onEnter: function() {
},
onExit: function() {
}
})
.state('login', {
url: '/login',
controller: 'LoginCtrl',
templateUrl: '/assets/modules/login/login.html',
onEnter: function() {
},
onExit: function() {
}
});
$urlRouterProvider.otherwise('floorplan'); //when no route found redirect to login
});
2.ħ ERE我打電話的狀態,以改變頁面 首先你注入「$狀態」到控制器中,當您需要更改網址:
$state.go('floorplan', {
'param1': val1,
'param2': val2,
'param3': val3
});
希望可以幫助好運。