0

当从一个选项卡更改语言时,我们遇到了一个问题,它没有反映在另一个已打开的选项卡中。我们正在使用以下代码在 cookie 中设置语言。

if (angular.equals(addcookie, "Yes")) {
$cookieStore.put('lang', langKey);
}

我们尝试使用以下代码在本地存储中设置语言

$localStorage.language = langKey; //EN/FR
$translate.use(langKey); //translate language

语言已设置,但如果用户从一个选项卡更改语言,则不会反映它已打开的选项卡。

我们进一步尝试如下,但不推荐

$scope.$storage = $localStorage.$default({
           language : langKey
       });

$scope.$watch(function() {
     return angular.toJson($scope.$storage);
       }, function() {
          console.log('The language is *** '+$scope.$storage.language);
   });

但是上面的方法似乎也不起作用。

我们如何使用 ngStorage 扩展来反映所有打开的选项卡/窗口的语言变化?除了打开的标签之外,它是否也适用于打开的窗口?

我们希望用户打开同一网站的多个浏览器选项卡/窗口,并根据本地存储动态更改两个选项卡上的内容(它们是相同的视图)。

来源 - https://github.com/gsklee/ngStorage

4

0 回答 0