我想修改路由定义的templateUrl,并使其依赖于用户的语言环境。
例如。 ' /views/en/faq.html'英语和' /views/fr/faq.html'适用于法国用户。
我将区域设置存储在cookie LOCALE 中,但是如何在templateUrl函数中访问该cookie值,因为运行配置函数时$ cookies尚不可用?
答案 0 :(得分:1)
你可以使用角度翻译服务。这会自动执行此操作。 链接https://github.com/angular-translate/angular-translate
答案 1 :(得分:0)
在您的情况下,请设置两个状态,并为frach添加tamplateurl '/views/fr/faq.html'
,为英语添加'/views/en/faq.html'
$stateProvider
.state('enFaq', {
url: "/Faq",
templateUrl: "/views/en/faq.html"
})
.state('frFaq', {
url: "/Faq",
templateUrl: "/views/fr/faq.html"
})
});
根据您的情况,您可以隐藏一个州 喜欢
<a ui-sref="frFaq" ng-if="location=='fr'">Faq</a>
<a ui-sref="enFaq" ng-if="location='en'">Faq</a>