我有三个模块app.root,app.shell,app.shop。就像那样
.module('app.root',['app.shell,'app.shop'])
在app.shop中,我在cookies中添加项目
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}}
此问题是视图未更新。它只在刷新页面时更新。我哪里错了。请帮帮我
答案 0 :(得分:1)
你没有发布整个代码,但试图猜测问题我认为你应该观察任何更改的cookie数组,获取新值然后更新视图。
$scope.$watch(function() {
return $cookies.cart; //watch the cart array
}, function(newValue) {
vm.cookies = JSON.parse(newValue);
}, true);
在您的代码中,您只需提取一次数据,请记住购物车数组是原始数据的副本,而不是参考。
vm.cookies = JSON.parse($cookies.getObject('cart')); //this is a copy of the array
{{vm.cookies.length}} //view