1

如果我有此类文档的集合:

{
    "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;
  }
}

但我敢肯定有一种更快更清洁的方法来做到这一点?

4

1 回答 1

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")});
}
于 2013-02-27T02:07:58.580 回答