AngularJS - 使用ngStorage在打开的选项卡/窗口中保持值

时间:2017-08-19 11:11:33

标签: javascript angularjs local-storage ng-storage

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

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

我们尝试使用以下代码在localstorage中设置语言

$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

0 个答案:

没有答案