Вот мой массив dataLayer:
dataLayer = [{
'giftBatch' : {
'giftID': '',
'giftAmount': 0,
'giftCount': 0,
'giftUpdate': {
'giftPhase': 'Gift Empty'
}
},
'txBatch': {
'txID': '',
'txTotal': 0,
'txURL': window.location.href,
'txUpdate': {
'txPhase': 'Transaction Opened',
'txT0': new Date(),
'txT1': ''
'txT2': ''
}
}
}];
Результаты консоли: Массив [Object1]
Object1 содержит объекты 'giftBatch' и 'txBatch' по желанию.
У меня есть триггер, который срабатывает позже, чтобы обновить объект в dataLayer.
Например, обновите «giftAmount» до 50 и «giftCount» до 1.
Я пробовал следующее (я показываю только свои неудачные попытки изменить «один объект за раз»),
Попытка 1:
dataLayer.push({giftAmount : 50});
Результат:
Массив [объект1, объект2]
Object1 такой же, как и выше,
Объект2 — это новый объект со свойством 'Сумма подарка': 50,
Попытка 2:
dataLayer.push({giftBatch.giftAmount: 222});
Результат: SyntaxError: отсутствует: после идентификатора свойства
Попытка 3:
dataLayer.push({'giftBatch.giftAmount' : 50});
Результат:
Массив [объект1, объект2]
Object1 такой же, как и выше,
Object2 — это новый объект со свойством 'giftBatch.giftAmount': 50.
Что я здесь делаю неправильно?
Согласно разделу dataLayer здесь: https://support.google.com/tagmanager/answer/6106899?hl=en
Я должен иметь возможность редактировать значения вложенных объектов.
PS. Это то, что я использую сейчас, и это действительно работает. Но почему не подталкивает работу?
dataLayer[index].giftBatch.giftAmount = 50;
Где index — это индекс Object2.
Любая помощь будет здорово.
Спасибо.