使用 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 中渲染的summernote

使用 Iron Router,“未定义路由器”

Iron Router 部署时显示启动页面,在本地工作正常

如何在 Iron Router Meteor 中检查当前路线

使用 Iron Router 路由到 Meteor autoform 提交的新数据?

使用 Iron Router 在 Meteor 包中包含 HTML 模板