In my Service I have this code:
setInterval(function () {
    $rootScope.$apply(function () {
        cart.push({
            "Id": 4,
                "Name": "Some item",
                "Price": 4
        });
    });
}, 3000);
Working example: http://jsfiddle.net/ko8edf32/7/
This works correctly: the cart change is pushed to the view.
However, when I assign a new value to cart, the change is NOT pushed to the view:
setInterval(function () {
    $rootScope.$apply(function () {
        var newcart = [{
            "Id": 4,
                "Name": "Some item " + Math.random(),
                "Price": 4
        }];
        cart = newcart;
    });
}, 3000);
example: http://jsfiddle.net/ko8edf32/8/
- What is the reason of this?
- What is the best/most elegant solution to solve this issue?
EDIT
This is the working solution I've built, based on the answers below: jsfiddle.net/ko8edf32/11
 
     
     
    