@Skrolea

Как работает Javascript?

Есть скрипт корзины (пишется на angular, но тут не суть).
Не могу понять.
vm.cartItems = [];
        function addItemsList(id, name, type) {
            var objItems = {
                id: id,
                name: name,
                type: type
            };  
                vm.cartItems.push(objItems);
              }

Добавляю в корзину товары. Делаю вывод из сервиса
function getItemsList() {
                     console.log('корзина' +vm.cartItems);
           
           return vm.cartItems;
        }


Так вот. Всё выводится на экран (ну там директивой). Но! Вывод console.log('корзина' +vm.cartItems); -ничего не показывает. Только "корзина".
Почему так?

Добавил Планкер
  • Вопрос задан
  • 333 просмотра
Решения вопроса 1
mudrenokanton
@mudrenokanton
frontend dev
попробуйте передать в функцию этот vm.cartItems, возможно в момент исполнения функции этот объект считывается со scope, где он пуст

т.е. в момент вывода на консоль у вас передается(точнее как раз не передается, а считывается) пустой массив, но потом он наполняется и вы видите, что все работает нормально
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
aleksand44
@aleksand44
могу ошибаться, но тут по-моему надо использовать перебор свойств объекта с помощью for in
Ни алерт ни консоль.лог не показывают содержимое объекта прост овызвав переменную, которая его содержит
Ответ написан
VIKINGVyksa
@VIKINGVyksa
front-end developer
попробуйте
console.log('Корзина',vm.cartItems);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы