2017-04-21 4 views
0

私は3つのモジュールapp.root、app.shell、app.shopを持っています。そして、それはapp.shopでその2つのモジュールanglejsで更新されないビュー

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

のように、私はクッキーapp.shellで

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])); 
     } 

に項目を追加、私はこの問題は、ビューではありません

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

HTMLで表示します更新。私はページをリフレッシュするときだけ更新されます。私の間違っているところはどこですか?助けてください

+1

もう一度、フルビューとコントローラを追加してください。 – lin

+0

こんにちは。私がplnkrを作成するとき、karimは私の問題を解決しました。しかし、こんにちは私に感謝^^ –

答えて

1

あなたはコード全体を投稿していませんが、私はあなたが変更のためにクッキー配列を見て、新しい値をフェッチし、ビューを更新する必要がありますと思う問題を推測しようとしました。

$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 
+0

まあ、私は彼に答えるためにプランクを作っていた。しかし、あなたはより速かった、とにかくここでは、プランナーです:https://plnkr.co/edit/gkmFeHCMkMCBVgDDrGJs?p=preview – JeanJacques

+0

彼の問題を解決することを願って); – Karim

+0

多くのありがとう。やってみます 。ここで私のplnkrは私が作成するhttps://plnkr.co/edit/hsb8AT6jaBY07fgC2gFS?p=preview –

関連する問題