Angular Translate无法在AngularJS中与$ location.path配合使用

时间:2019-06-05 19:31:06

标签: angularjs angular-translate

我有一个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,但老实说,我目前无法找到解决方法。

0 个答案:

没有答案