Вызов переменной в опции JavaScript - PullRequest
0 голосов
/ 30 апреля 2019

Чего я хотел бы добиться, так это когда ученик выберет их номер, и это подтолкнет их имя к трекингу.Вот так:

window.dataLayer.push({
  'event': 'event',
  'name': 'Joe'
});

Я пытался добиться этого с этим, но не смог.

window.dataLayer.push({
  var studentName = '~@studentNumber~';
  if (studentName=="01") {
    return "Joe";
  }
  else if (studentName=="02") {
    return "Jane";
  }
  else {
    return "error - User has no name"
  };
  'event': 'event',
  'name': name
});

Что я сделал не так и как это исправить?

Спасибо

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

В javascript, когда вы пишете {obj: value}, это шаблон объекта, который вы не можете написать, если здесь очень простое для вас утверждение

var studentName = '~@studentNumber~';
var name = "error - User has no name";
if (studentName=="01") {
  name = "Joe";
}
else if (studentName=="02") {
 name = "Jane";
}

window.dataLayer.push({
'event': 'event',
'name': name
});

, вы также можете следовать приведенному выше ответу

0 голосов
/ 30 апреля 2019

Вы не можете иметь операторы if в литерале объекта.Однако вы можете использовать троичный оператор .

Попробуйте это:

var studentName = '~@studentNumber~';
window.dataLayer.push({
  'event': 'event',
  'name': studentName=="01" ? "Joe" : studentName=="02" ? "Jane" : "error - User has no name"
});

Также я не уверен, как будет работать '~@studentNumber~'.Я предполагаю, что какая-то библиотека или что-то заменит ее на желаемое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...