我正在尝试本地化Akveos BlurAdmin的baSidebar导航。
在 ba-sidebar 中.html我正在使用翻译过滤器,例如{{ ::item.title | translate }}
和状态 ist 设置如下:
function routeConfig($stateProvider, dashboardProvider) {
$stateProvider
.state('stateName', {
url: '/stateName',
templateUrl: 'app/pages/[...],
controller: 'stateNameCtrl',
title: 'TITLES.STATENAME',
sidebarMeta: {
order: 200,
},
}) [...]
Angular 从 .json 文件中获取TITLES.STATENAME
的翻译。内容顶部的标题通过更改活动语言完美地更改。(我正在使用$state.reload();通过ng-click)。但是侧边栏不会重新加载。标题仍采用加载页面时处于活动状态的相同语言。如果我注销并再次登录,新语言将处于活动状态并正确显示。
有没有办法在 ng-click-event 中重新加载 ba-sidebar.html就像我对 $state.reload() 所做的那样?(我不想重新加载整个页面,因为这样网站会重新加载所有默认值,包括默认语言)
我通过将语言保存在 cookie 中并重新加载整个页面来解决问题。 加载时,它会从 cookie 中获取语言。 如果未设置此语言键,它将加载默认语言。
对于遇到相同问题的人:以下是在javascript中使用cookie的文档:http://www.w3schools.com/js/js_cookies.asp