我想了解使用Iron Router爲MongoDB數據庫設置數據上下文的最佳方式。在流星和鐵路路由器中設置數據上下文
爲了說明我工作的一個相當基本的電影評論的項目,並將其部署到模在http://reviews-48062.onmodulus.net/
這將返回評價的列表,而是想用路由創建其他頁面。我已經在本地安裝Iron Router並擁有一個本地MongoDB集合(稱爲任務),其中包含一些數據。
已經重寫了一些代碼以包含路由信息。這可以成功地顯示路線,但似乎沒有將任何數據引入{{each}}語句。
我的JS代碼如下:
// define Mongodb collection
Tasks = new Mongo.Collection("tasks");
// set up home route and database query
Router.route('/', function() {
this.render('Home', {
tasks: function() { return Tasks.find({}, {sort: {title: 1}, limit: 10}); }
});
});
// define routes
Router.route('/one');
Router.route('/two');
Router.route('/three');
的HTML代碼是:
<head>
<title>Iron router sandbox</title>
</head>
<body>
</body>
<template name="Home">
{{> Nav}}
<h1>Home</h1>
<p>This is a test</p>
{{#each tasks}}
<li>
<strong>{{title}}</strong>
<p>Directed by {{director}}</p>
<p>{{review}}</p>
<p>Available on: {{format}}</p>
</li>
{{/each}}
</template>
<template name="One">
{{> Nav}}
<h1>Page One</h1>
<p>Some more text.</p>
</template>
<template name="Two">
{{> Nav}}
<h1>Page Two</h1>
<p>A bit more text.</p>
</template>
<template name="Three">
{{> Nav}}
<h1>Page Three</h1>
<p>Even more text.</p>
</template>
<template name="Nav">
<ul>
<li>
<a href="/">Home</a>
</li>
<li>
<a href="/one">Page One</a>
</li>
<li>
<a href="/two">Page Two</a>
</li>
<li>
<a href="/three">Page Three</a>
</li>
</ul>
</template>
我的理解是,數據上下文設置爲「家」的模板,所以不知道代碼有什麼問題。
任何意見非常讚賞。
在http://reviews-48062.onmodulus.net/它似乎工作。它與你的代碼有什麼不同嗎? –