Какую цель знак вопроса служить в следующем фрагменте кода:Какова цель «?» в Javascript?
Template.lists.selected = function() {
return Session.equals('list_id', this._id) ? 'selected' : '';
};
Какую цель знак вопроса служить в следующем фрагменте кода:Какова цель «?» в Javascript?
Template.lists.selected = function() {
return Session.equals('list_id', this._id) ? 'selected' : '';
};
Это известно как тройной оператор в ряде языков. Это ярлык для полного заявления if-then
.
Вместо написания этого:
Template.lists.selected = function() {
if(Session.equals('list_id', this._id)) {
return 'selected';
}
else {
return '';
}
};
Вы можете сделать это:
Template.lists.selected = function() {
return Session.equals('list_id', this._id) ? 'selected' : '';
};
if
возвращение сразу после знака вопроса; Возврат else
после двоеточия.
Знаете ли вы, есть ли ярлык, чтобы сделать это внутри шаблона напрямую? Что-то вроде {{#tertiary true, 'iftrue', 'iffalse'}} – portforwardpodcast
Извините, я ничего не знаю о метеор. Это прямолинейная программирующая конструкция. – EmmyS
Я хотел бы сделать это внутри шаблона рулей, но это будет связано с использованием специального вспомогательного блока. Так что я кое-что придумаю – portforwardpodcast
Это условный оператор JavaScript: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator – Matt
@Matt Вы правы, но это не специально для javascript. – sdespont
@sdespont Спасибо, я уже собирался добавить, что этот оператор был уникален для JavaScript, и ни один другой язык не имеет его, но тогда ваш комментарий спас меня от этого смущения. (На самом деле я упомянул об этом так, чтобы OP знал, что это не часть рулей или метеор, а скорее язык JavaScript) – Matt