视图未使用 2 个模块 angularjs 更新

阮宝东

我有三个模块 app.root , app.shell , app.shop 。就像那样

.module('app.root',['app.shell,'app.shop'])

在 app.shop 中,我在 cookie 中添加项目

vm.add = function(tensp,gia,img){
                     var item = {
                    tensp : tensp,
                    gia   : gia,
                    img   : img
                  };

   var cart = $cookies.getObject('cart');

      if (cart) {
        var items = JSON.parse(cart);
             items.push(item);

        $cookies.putObject('cart', JSON.stringify(items));
      } else {
        $cookies.putObject('cart', JSON.stringify([item]));
      }

在 app.shell 中,我以 html 显示

      vm.cookies = JSON.parse($cookies.getObject('cart'));
 {{vm.cookies.length}}

这个问题是 view not update 。它仅在我刷新页面时更新。我哪里错了。请帮我

卡里姆

您没有发布整个代码,而是试图猜测问题所在,我认为您应该观察 cookie 数组是否有任何更改,获取新值,然后更新视图。

$scope.$watch(function() { 
 return $cookies.cart; //watch the cart array
}, function(newValue) {
  vm.cookies = JSON.parse(newValue);
}, true);

在您的代码中,您只获取一次数据,请记住,cart 数组是原始数组的副本,而不是引用。

vm.cookies = JSON.parse($cookies.getObject('cart')); //this is a copy of the array
{{vm.cookies.length}} //view

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章