Как получить данные с вызывающей страницы, находясь в Ion Modal

На одной из моих страниц (которая имеет

<button class="button button-small button-balanced" data-ion-modal="reviewPopup">
    leave review
</button>

в этом Модальном у меня есть форма, которая, когда я нажимаю кнопку, должна отправлять на сервер данные как из Модального, так и из шаблона из шаблона a. Я могу получить данные из формы в Модале просто отлично, но я не могу получить доступ к каким-либо данным с вызывающей страницы (особенно мне нужно _id). призвание Template.parentData просто возвращает ноль.

2 ответа

Вместо запуска модального из шаблона, используя data-ion-modal="reviewPopup", вы можете запустить модал из вашего события кнопки, например -

Template.templateName.events({
  'click #review-popup': function() {
     //capture data from parent template first
     //....
     var parentDataContext = {some data}

     IonModal.open("reviewPopup", parentDataContext);
  }
})

После того, как модальное открытие, к родительским данным можно получить доступ, используя this в модальных помощниках.

Я полагаю, что Template.parentData (из модального) будет возвращать либо шаблон тела, либо другой шаблон верхнего уровня, специфичный для метеорического каркаса. В любом случае, если бы вы использовали другой фреймворк, где вы специально добавляете модальный шаблон на страницу где-нибудь, я бы предложил передать _id в качестве параметра шаблона.

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

Если вы используете маршрутизатор и у вас есть _id как часть маршрута, получите его оттуда (например, FlowRouter.current(). Params).

Или просто используйте самый простой вариант и используйте переменную Session. Установите его в функции onRendered, получите доступ к нему в функциях событий Модала

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