我有一个AngularJS 1.0.7网络应用程序。对于翻译,我使用的是Angular Translate(这是一个与我的angular版本兼容的旧版本,但翻译最初可以正常工作)。很抱歉,目前无法迁移到较新版本,因此这不是解决方案。
我有一个奇怪的问题。在首页中,我有两个链接到同一页面B(可以这么说)。但是,一个是真实的链接,另一个是一个按钮,该按钮执行带有重定向的功能,该重定向带有$ location.path(page-b)到页面B。
partials / home.html:
<a href="/:language/about">Link without location.path</a>
<button ng-click="test()">Redirection with location.path</button>
家庭控制器:
$translatePartialLoader.addPart('common');
$translatePartialLoader.addPart('home');
$translate.refresh().then(function() {
// do whatever
});
$scope.test = function() {
$location.path('localhost/:language/about');
};
页面B(about.html)
Hello {{var1}}
页面B具有一个控制器,该控制器以角度翻译的方式加载一些部分翻译json文件,例如:
AboutCtrl
$translatePartialLoader.addPart('about');
$translate.refresh().then(function(result) {
$scope.var1 = $translate('LABEL');
});
由于某种原因,当我单击主页上的链接或进入页面并重新加载它时,翻译效果很好,我可以看到它们。我的意思是翻译工作正常。 但是,如果我单击重定向到带有$ location.path的页面的按钮,则翻译不起作用。我的意思是,只有在新页面加载了$的情况下,它才起作用。 location.path。
请找到以下代码:https://plnkr.co/edit/Mys8HBfC9pShkiXudMIy?p=preview,我无法使其完全适用于局部零件,但是可以更好地理解其结构。
如果您有任何遗漏,请告诉我。
如果我没记错,那么这个问题非常相似或完全像这样:https://github.com/angular-translate/angular-translate/issues/306,但老实说,我目前无法找到解决方法。