【问题标题】:Best way to show a document field in Meteor?在 Meteor 中显示文档字段的最佳方式?
【发布时间】:2013-02-27 21:10:17
【问题描述】:

如果我有一个包含此类文档的集合:

{
    "Category" : "DVDs",
    "items" : {
        "Name" : "Mission Impossible",
        "Owner" : "me",
        "LentTo" : "Alice"
    },
    "_id" : "4ocjZXCbLk5Zo8afp"
}

在浏览器中显示“DVD”的最简单方法是什么。

我可以通过在模板中添加{{list_cat}} 或创建此函数来实现:

Template.list.list_cat = function () {
  if (Session.equals('current_list', null)) return null;
  else {
    var cats = lists.findOne({ _id: Session.get('current_list')});
    return cats.Category;
  }
}

但我确定有更快更清洁的方法吗?

【问题讨论】:

  • items 不会是一个数组,而不仅仅是一个对象?

标签: mongodb meteor


【解决方案1】:

给定一个显示文档列表的模板,您可以直接引用该属性:

<body>
  {{> documents}}
  <br/><br/>
  {{> selected_doc}}
</body>

<template name="documents">
  {{#each document}}
  <div>{{Category}}</div>
  {{/each}}
</template>

<template name="selected_doc">
  Selected doc:<br/>
  Name: {{items.Name}}<br/>
  Owner: {{items.Owner}}<br/>
  Lent to: {{items.LentTo}}
</template>

Template.documents.events({
  "click div": function() {
    Session.set("selected_doc", this._id);
  }
});

Template.selected_doc = function() {
  return lists.findOne({_id: Session.get("selected_doc")});
}

【讨论】:

  • 你好 Rahul,我可以走这么远,但我想做的是单击一个类别并显示具有此类别的文档的详细信息。我的想法是将此文档放在会话对象中,然后使用此对象从模板访问它,但我没有成功。所有示例都带有集合,而不是单个文档。谢谢!
  • 我更新了答案,包括单击一个类别,将其存储在会话中,然后显示所选文档。
猜你喜欢
  • 2014-10-16
  • 1970-01-01
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
  • 2016-01-02
  • 1970-01-01
  • 2010-11-15
  • 1970-01-01
相关资源
最近更新 更多