使用 Iron:router 将某些功能或事件的输出返回到 Meteor 中的某个新页面或模板
Posted
技术标签:
【中文标题】使用 Iron:router 将某些功能或事件的输出返回到 Meteor 中的某个新页面或模板【英文标题】:Return Output of some function or event to some new page or template in Meteor with Iron:router 【发布时间】:2021-03-02 19:53:37 【问题描述】:我正在做一些项目,我想将过滤后的数据返回到某个新页面,我现在面临的是,输出显示在同一个模板上,所以会出现很多我不想要的额外内容。我想使用路由器重定向它,但是这个过滤功能是 images_thumbnail 的一部分。
Client > main.html
<template name="images_thumbnail">
//lot of stuff + images
#each images //show all images from public folder
<img src=""some_image.jpg" />
<caption>
<a href="#" class="js-set-genre-filter">
img_genre //image_genre associated with this image
</a>
</caption>
/each
</template>
当我点击图片类型(比如惊悚片、喜剧片等)时,会设置图片过滤器
Client > main.js
Router.route('/images', function()
this.render('navigation_bar',
to: 'header'
);
this.render('owl_carousel',
to: 'carousel'
);
//images_thumbnail template along with navbar, carousel
this.render('images_thumbnail',
to: 'body'
);
);
Tempalte.images_thumbanil.events(
'click .js-set-genre-filter':function(event)
Session.set("genreFilter", this.img_genre);
console.log(this.img_genre); //gives Comedy/Thriller
)
Template.images_thumbnail.helpers(
images:function()
if(Session.get("genreFilter"))
return Images.find(img_genre: Session.get("genreFilter");
//This is the output, but i want to redirect it to some
//new template, instead of images_thumbnail template
)
未设置过滤器时 Output when no Filter is set, Navigation bar, Carousel, rest stuff is visible
过滤器输出,当genreFilter被设置时 Navigation bar, button, Headings are shown which are not needed for this content
【问题讨论】:
【参考方案1】:我不认为我完全理解你想要什么, 如果您想在代码点将您的路线重定向到另一个路线, 只需use Router.go('/newPath')
此外, 铁路由器仍然是很棒的包装, 但是 Meteor Developer Group(MDG) 和很多人改用FlowRouter 因为维护和专注于路由本身。 (Iron Router 过多地控制了发布/订阅和生命周期。)
所以也考虑使用 FlowRouter-
【讨论】:
以上是关于使用 Iron:router 将某些功能或事件的输出返回到 Meteor 中的某个新页面或模板的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Iron Router Meteor 中检查当前路线