Как получить данные с вызывающей страницы, находясь в 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, получите доступ к нему в функциях событий Модала