作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
什么是本地化 url:
http://example.com/ eng /somepath
http://example.com/ ger/somepath
假设我们总是知道用户语言。
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/
我是一名优秀的程序员,十分优秀!