我正在使用Angular ui-router
并定义了我的路线。但问题是它改变了状态,但也改变了网址,而这并不是使用ui-router
的意图。我不确定我在这里做错了什么,需要对下面的代码提出一些建议
app.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/');
$stateProvider
.state('ManageUser', {
url: '/manager-user',
templateUrl: '/app/user/manage_users.html'
})
.state('ManageUserSetting', {
url: '/user-setting',
templateUrl: '/app/user/settings_normal.html'
});
}]);
答案 0 :(得分:2)
如果你想改变状态而不改变URL就像从相关状态省略url
参数一样简单:
$stateProvider
.state('ManageUser', {
url: '/manager-user',
templateUrl: '/app/user/manage_users.html'
})
.state('ManageUserSetting', {
templateUrl: '/app/user/settings_normal.html' // url is still '/manager-user/'
});
也就是说,在大多数情况下,使用angular-ui-router
时 想要更改网址。 angular-ui-router
的主要目的是能够nest views,然后才能直接链接到view states
。
(Watch this video有关ui-router
和ngRoute
之间差异的说明)
如果您在上面描述的情况下只想在嵌套视图中显示某些用户设置而不更改URL,那么最好使用ng-show
来切换设置。选择是你的。
Here is an example我把两者混为一谈。如果你想详细解释,请告诉我。