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

#meteor

#meteor

Вопрос:

Я пытаюсь установить переменную сеанса для текста, на который пользователь нажимает при нажатии на ссылку. Например, если ссылка <a href="/link">The Link</a> .

Я бы хотел Session.set('clickedLink', <<The Link>>); , но «Ссылка», очевидно, заменена текстовой строкой, на которую нажал пользователь.

Возможно ли это? Я все делаю неправильно?

Я подумал, что смогу использовать что-то вроде:

 Template.SingleQuote.events({
  "click .link": function (event) {
    Session.set("currentPageName", event.a.text);
  }
});
  

Ответ №1:

Использование event.target.text .

 Template.SingleQuote.events({
    'click .link'(event) {
        Session.set('currentPageName', event.target.text);
    }
});
  

Редактировать:

Вместо того, что было опубликовано, рецензенты предложили мне обновить этот ответ, чтобы использовать следующий синтаксис:

 'click .link': function(event) { /* ... */ }
  

Оба они являются совершенно допустимым синтаксисом для события шаблона Meteor, используйте тот, который вам наиболее удобен.

Комментарии:

1. Спасибо, да, это сработало. Примечание: одна из моих ссылок содержала <em>, и поэтому event.target.text возвращал «», поэтому либо использование innerText, либо просто перемещение <em> из тега a исправило это.