例子:如果路由/模板不僅僅包含集合,而是如何從集合中獲取數據?
routes.js:
this.route("chapterPage", {
path: "/books/:bookId/chapters/:_id",
data: function() {
var chapter = Chapters.findOne(this.params._id);
var book = Books.findOne(this.params.bookId);
var chapters = Chapters.find({
bookId: this.params.bookId
}, {
sort: {
position: 1
}
});
return {
chapter: chapter,
book: book,
chapters: chapters
};
}
});
正如你可以看到這個模板/路由有兩個集合Book
和Chapter
。以前,我用單獨調用集合是這樣的:
chapter_form.js:
Template.chapterForm.events({
"input #input-content": function() {
var currentChapter = Session.get("currentChapter");
Chapters.update(currentChapter, {
$set: {
content: $("#input-content").html();
}
});
}
});
但現在我的新航線/模板我不能這樣做,因爲它不是基於任何集合:
chapter_page.js:
Template.chapterPage.events({
"input #input-content": function() {
console.log(chapter._id); // this returns is not defined
console.log(this._id); // this one too
}
});
如何獲得AR回答這個?
編輯:
我也試過致電chapter_form.html
模板:
<template name="chapterPage">
{{> chapterForm}}
</template>
但它不顯示,顯示之類的東東:Cannot read property 'content' of undefined
所以它是不承認的模板。
噢,對不起'return'是在實際的代碼。我意外刪除了它。 – alexchenco 2014-10-09 15:55:03
這令人困惑,因爲我想知道你的模板如何在沒有它的情況下顯示任何感興趣的東西! – saimeunt 2014-10-09 15:56:05
哦,謝謝它的工作。這幾周我一直在困惑。那麼這個''總是會引用當前的'路由'數據? – alexchenco 2014-10-09 15:57:29