Почему не обновляется верста в корзине?

Не могу понять почему не отображается изменение в верстке, в консоль логах все ок, в локал сторедже тоже.

Верстка обновляется только после перезагрузки страницы или если менять amount после того как хоть 1 прорисовался.

вот html

<div class="container" ng-controller="cartController">
        <div class="basket_wrapper">
            <div class="basket_items">
                <div class="triangle"></div>
                <div class="basket_item" ng-repeat="obj in cart">
                    <a href="#" class="cancel" ng-click="remove(obj.id)"></a>
                    <div class="img_wrapper">
                        <img src="{{obj.img}}" alt="image">
                    </div>
                    <div class="basket_info">
                        <h5>{{obj.name}}</h5>
                        <div class="prise_and_amount">
                            <p class="price">{{obj.price}}$</p>
                            <div class="amount_wrapper">
                                <span class="min" ng-click="decreaseAmount(obj.id)">-</span>
                                <p class="amount">{{obj.amount}}</p>
                                <span class="pls" ng-click="increaseAmount(obj.id)">+</span>
                            </div>
                        </div>
                    </div>
                </div>
                <a href="@(_basket?.Url())" class="order_link">Order</a>
            </div>
        </div>
    </div>

вот angularJS

var myApp = angular.module('SomeName', []);

const _shopItemsKey = "itemsId";

const _itemUrl = "some url";
const _createOrderUrl = "some url";

myApp.controller('cartController', ['$scope', '$http', function ($scope, $http) {

$scope.getList = function () {
    return JSON.parse(localStorage.getItem(_shopItemsKey) || "[]");
};

$scope.updateList = function () {
    $scope.cart = $scope.getList();
    console.log($scope.cart);
}

$scope.addItem = function (itemId) {
    let obj = { id: itemId };
    $scope.addToStorage(obj);
    $scope.updateList();
};

$scope.remove = function (itemId) {
    let arr = $scope.getList();
    arr = arrayRemove(arr, arr.find(x => x.id == itemId));
    localStorage.setItem(_shopItemsKey, JSON.stringify(arr));
    $scope.updateList();
};

$scope.getPreviewList = function () {
    let arr = $scope.getList();
    //let previews = $http.post('/umbraco/api/card/previews', arr.map(function (item) { return item.id; }));
    //console.log(previews);
    return arr;
};

$scope.decreaseAmount = function (id) {
    let arr = $scope.getList();
    if (arr.find(x => x.id == id).amount - 1 > 0)
        arr.find(x => x.id == id).amount--;
    localStorage.setItem(_shopItemsKey, JSON.stringify(arr));
    $scope.updateList();
};

$scope.increaseAmount = function (id) {
    let arr = $scope.getList();
    arr.find(x => x.id == id).amount++;
    localStorage.setItem(_shopItemsKey, JSON.stringify(arr));
    $scope.updateList();
};

$scope.getAllInfo = function (obj) {
    let id = obj.id;
    let arr = $scope.getList();
    $http.get(_itemUrl + id).then(function (info) {
        let payload = info.data;
        console.log(info);
        obj.price = payload.Price;
        obj.img = payload.Img;
        obj.name = payload.Name;
        obj.amount = 1;
        arr.push(obj);
        localStorage.setItem(_shopItemsKey, JSON.stringify(arr));
        $scope.updateList();
    }, function (error) {

        console.log(error);

    });
};

$scope.addToStorage = function (obj) {
    let arr = $scope.getList();
    if (arr.find(x => x.id == obj.id) != undefined) {
        arr.find(x => x.id == obj.id).amount++;
        localStorage.setItem(_shopItemsKey, JSON.stringify(arr));
        $scope.updateList();
    } else {
        $scope.getAllInfo(obj)
    }
};

$scope.createOrder = function () {
    //collect data from form using binding
    //send Create order Request
}

$scope.updateList();

}]);

Ответы (0 шт):