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 に答える