javascript - Meteor 路由到单个页面

标签 javascript meteor

我正在使用 meteor 创建一个投资组合,并成功循环访问数据库中的投资组合项目(使用固定装置创建)。我在尝试按下某个项目并转到其特定页面时遇到问题。我确信这很简单,但我对 Meteor 还很陌生。

我的结构如下:

集合:

PortfolioItems = new Mongo.Collection('portfolioItems');

出版:

Meteor.publish('portfolioItems', function() {
    return PortfolioItems.find();
});

作品集页面模板:

<template name="portfolio">
<h1>Portfolio</h1>
<hr>
{{#each portfolioItems}}
    {{> portfolioItem}}
{{/each}}

<a href="{{pathFor 'home'}}">Go Back Home</a>
</template>

作品集页面模板助手:

Template.portfolio.helpers({
    portfolioItems: function() {
        return PortfolioItems.find({});
    }
});

投资组合项目模板:

<template name="portfolioItem">
<h1>{{title}}</h1>
</template>

最后是我的路线:

Router.configure({
    layoutTemplate: 'layout',
    loadingTemplate: 'loading',
    notFoundTemplate: 'notFound'
});


Router.route('/', function() {
    this.render('home');
}, {
    name: 'home'
});

Router.route('/about', function() {
    this.render('about');
});

Router.route('/portfolio', function() {
    this.render('portfolio');
}, {
    name: 'portfolio',
    waitOn: function() {
        return Meteor.subscribe('portfolioItems');
    }
});

最佳答案

首先创建路线。

Router.map(function () {
  this.route('portfolioItem', {
    path: '/portfolioIndividual/:_id',
      waitOn: function(){
    return Meteor.subscribe('portfolioItems');
    },
    data: function(){
     if(this.ready()){
       return PortfolioItems.findOne({_id: this.params._id});
     }else{
       this.render('loading') 
     }      
    }
  });
}); 

html:

<template name="portfolio">
{{#each portfolioItems}}
  <a href="/portfolioIndividual/this._id">Take a look at this awesome photo</a>
 {{/each}}
</template>

<template name="portfolioItem">
  <!-- portfolio item content -->
</template>

关于javascript - Meteor 路由到单个页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28467523/

相关文章:

javascript - 自动更正值的组合框

javascript - 调用方法时 meteor 进入路由

JavaScript Json 解析器

reactjs - Uncaught ReferenceError : Navbar is not defined

c# - 如何将 javascript 键码转换为正确的键码?

javascript - 当输入更改元素值时隐藏元素的通用函数

javascript - 如何将新项目推送到 immutableJS 中的深层嵌套记录中

javascript - 在两个元素之间保持悬停状态处于事件状态

javascript - Meteor:项目可以交换的两个名称列表

javascript - 带有 coffeescript 的 meteor 包(以及继承和严格模式)