Метод Router.go () Ирон Роутер не функционирует хорошо с Meteor?

У меня есть mistero с Meteor (версия 1.1.0.3) и Ирон Роутер (iron:router@1.0.9).

Я делаю кнопку descartar cambios в Meteor.

Главным образом, если нажимается хромая кнопка _id документа, который предложен экраном, и я пересылаю в тот же маршрут, происходя _id.

Функция, что я имею партнера по отношению к маршруту, ищет документ в подходящей коллекции и rederiza шаблон. Главным образом, я хочу разбить все то, что уже у него было в моем формуляре с документом коллекции (вынуждать один "повторно похвалите").

Функциональность renderizar шаблоны функционирует хорошо. Если я набиваю в руку маршрут в браузере, все идет верно. Даже уже он использовал Router.go() успешно в других частях моей программы, формы

Template.feedbackReport.events({
  "click #seeFeedbackReport" : function(){
    Router.go("/feedbackReview/"+this._id);
  }
});

чтобы идти в маршрут. Однако, я стараюсь повторять то же самое сейчас в этой функциональности (в отличном шаблоне) и Router.go() он игнорирует меня полностью.

Он делает себе вызов также с события (другой 'click', и используется также идентификация кнопки), так что код главным образом "отрежь и прикрепи".

Я использую прямо _path_, у меня нет имен для маршрутов ничто, что даже не было обязано делать что-то отличным в каждом вызове (как он предлагает в этом ответе на сходный вопрос).

Так что я не могу понять причину того, что в каких-то частях моей программы он может делать Router.go() и в других вызов ничего не сделал.

Я знаю, что _meteor_ это одна "opinionated tool", но я не верю в то, что способ, в котором платформа восстанавливает мой .js имейте ничего общего с этим поведением.

Другая редкая вещь: с моей новой кнопки он игнорирует мне эти вызовы в Router.go() (в отличие от которого он делает для других равных событий), но если в эту новую кнопку я помещаю вызов в Router.go в callback одного _Meteor.call_ тогда Router.go() он работает правильно.

Я уже лишен идей, чтобы отлаживать это поведение.

Кто-то с опытом с IronRouter и Meteor у него есть идея porqué с частей кода Router.go() функционируй без проблем и в других он ничего не делает?

4
задан 23.05.2017, 15:39
2 ответа

Привет возможно это подало тебе

Template.feedbackReport.events({
  "click #seeFeedbackReport" : function(){
    Router.go('nameRoute', {id: this._id});
  }
});
1
ответ дан 24.11.2019, 14:54
  • 1
    Если ты добавляешь немного descripci и # 243; n в твой ответ, ты мог бы улучшать ее много;) – jasilva 23.06.2016, 20:41
  • 2
    Спасибо друг:) – Jonathan Escobar 01.07.2016, 02:47

Сначала, когда Ирон Роутер не обнаруживает никакого изменения, он не обновляет страницу и секунду, когда ты призываешь this в этом контексте он возвращает тебе эквивалент в window.

Для серьезной лучше делать один form.reset() или один window.reload()

Это рекомендуемое состоит в том, чтобы ты использовал Template.instance().data._id или template.data._id

Template.feedbackReport.events({
  "click #seeFeedbackReport" : function( event, template ){
    Router.go("/feedbackReview/" + template.data._id);
  }
});
0
ответ дан 24.11.2019, 14:54