我正在使用AngularJs和ngStorage制作购物车。我想将数据保留在本地存储中。当我从其他浏览器选项卡添加内容时,我想在打开购物车的购物车中调用http方法。我想使用$ scope。$ watch但它不起作用:(

我正在尝试ALS在第一个控制器localstorage中使用辅助值:

$scope.$watch('counter', function(newValue, oldValue) {
    if(newValue === oldValue){
      return;
    }
    console.log(newValue);
});

$scope.deleteItem = function (item) {
    var index = $scope.storage.products.indexOf(item);
    $scope.storage.products.splice(index, 1);
    $scope.counter = 0;
}


第二控制器:
    $ scope.addToCart = function(code){

    var prod = {
        code: code,
        quantity: 1,
        color: 0,
        notes: '',
    };
    $scope.storage.products.push(prod);
    $scope.storage.counter=$scope.storage.counter+1;
    $scope.$apply();
}


在另一个浏览器选项卡中修改本地存储值时,如何观察/观看我的本地存储值?

最佳答案

试试这个https://truongtx.me/2014/06/16/cross-tab-communication-using-html5-dom-storage/
与本地/会话存储的跨表通信的很好的解释

每次更改本地存储时,都会调用存储事件。

关于javascript - AngularJS ngStorage在其他 Controller /浏览器选项卡中监视localstorage变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29651063/

10-11 13:00