Как подтолкнуть динамическую цену на слой данных?

Как я могу отправить динамическую цену, которая должна измениться, для уровня данных? я не могу просто отправить переменную, как в примере ниже?

Var price; //this price will dynamically change based on the product value


  dataLayer.push({
  'event': 'gtm-event',
  'value': price
  });

1 ответ

Не уверен насчет google-datalayer, но примитивы в Javascript передаются по значению, а объекты по ссылке. Итак, рассмотрим

var price = 3;
var object_with_price = { price: 3 };

var data_with_price = { value: price };
var data_with_object = { value: object_with_price };

Если вы сейчас измените price до 4, data_with_price.price будет все еще 3, потому что значение было передано.

Но если вы делаете object_with_price.price = 4, затем data_with_object.value.price также будет 4.

Если вы измените object_with_price = { price: 5 }, data_with_object останется без изменений.

Другие вопросы по тегам