流星内容未显示

时间:2015-06-10 19:18:29

标签: javascript meteor meteor-blaze

我遇到Flow Router或模板级订阅的问题,但数据没有在页面上呈现。

只是问题不是我在这里粘贴的内容我已经包含了一个指向整个github仓库的链接:https://github.com/adjohnston/checkr-meteor

LIB / routes.js

listRoutes.route('/:slug', {
  name: 'list',

  subscriptions: function (params) {
    this.register('singleList', Meteor.subscribe('singleList', params.slug));
  },

  action: function () {
    FlowLayout.render('mainLayout', {
      main: 'list'
    });
  }
});

服务器/公开/ lists.js

Meteor.publish('singleList', function (slug) {
  return Lists.find({slug: slug});
});

客户端/列表/ list.js

Template.list.helpers({
  singleList: function () {
    return Lists.find();
  }
});

客户端/列表/ list.html

<template name="list">

  {{#if isSubReady}}
    {{#with singleList}}

      <h2>Name: {{name}}</h2>

    {{/with}}
  {{/if}}

</template>

解决方案

更改将Lists.find()返回给Lists.findOne(),因为发布'singleList'只返回一个结果。

客户端/列表/ list.js

Template.list.helpers({
  singleList: function () {
    return Lists.findOne();
  }
});

1 个答案:

答案 0 :(得分:2)

尝试将singleList助手更改为findOne

Template.list.helpers({
  singleList: function () {
    var slug = FlowRouter.getParam("slug");
    return Lists.findOne({slug: slug});
  }
});

现在您正在尝试显示游标的name属性,这是find()返回的内容。你的车把也不需要{{#with singleList}}