gpt4 book ai didi

javascript - 如何为 AngularJS 路由添加动态前缀

转载 作者:行者123 更新时间:2023-11-30 17:58:56 25 4
gpt4 key购买 nike

什么是本地化 url:

假设我们总是知道用户语言。

angular.module('website', [])
.constant('ROUTES', (function () {
var lang = 'eng'; // just for example
return {
SOME_PATH: '/' + lang + '/somepath'
}
})())
.config([..., '$locationProvider', 'ROUTES', function(..., $locationProvider, ROUTES {
$routeProvider.when(ROUTES.SOME_PATH, {templateUrl: 'pages/some_page.html', controller: 'SomePageController'});
$locationProvider.html5Mode(true);
}])
.run(['$rootScope', 'ROUTES', function ($rootScope, ROUTES) {
$rootScope.ROUTES = ROUTES;
}]);

所以,如果我在 html 中添加链接,一切都有效:

<a href="{{ROUTES.SOME_PATH}}">Some path</a>

在我单击链接后,路由按计划工作。但是,如果我刷新页面或通过直接链接(“http://example.com/eng/somepath”)访问,我将无法访问任何页面并看到 404 页面。

最佳答案

使用 $routeProvider 映射路线不是更容易吗?

$routeProvider.when('/:langId/:somepath', 
{
controller: 'languageHandlingController'
})

关于javascript - 如何为 AngularJS 路由添加动态前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512480/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com