我有三个模块 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] 删除。
我来说两句