我在使用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'
    });
  }
});


服务器/publication/lists.js

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


客户/列表/list.js

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


client / lists / 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();
  }
});

最佳答案

尝试将您的singleList帮助器更改为findOne

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


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

关于javascript - meteor 内容未显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30765390/

10-11 01:17