1
我刚开始使用流星和铁路由器。流星 - 与铁路路由器的多个数据上下文
在这里,我试图使用两个数据上下文,但显然我做错了。我已经使用了它,但它似乎并不是一个很常见的问题,但我想它可能传递两个或更多的数据上下文,对吧?
这是我routing.js
Router.route('/package/:_id', function() {
//Returns the selected/clicked package
var package = Packages.findOne({_id: this.params._id});
//Returns all items in Items collection.
var listItems = Items.find();
this.render('PackageDetails', {data: package, listItems});
});
我的模板中,我试图从两种情况下使用的数据(其中一个用于填充一个下拉列表和一个显示所选包的数据
<template name="PackageDetails">
<label class="label label-default">Item type: </label><p>{{ item }}</p>
<label class="label label-default">Quantity: </label><p>{{ quantity }}</p>
<label class="label label-default">Id: </label><p>{{ _id }}</p>
<form class="change-state">
<div class="input-group">
{{> sAlert}}
<select class="form-control" name="state">
<option selected="true" disabled>Select State</option>
{{#each states}}
<option>{{name}}</option>
{{/each}}
</select>
</div><br>
<div class="input-group">
<input type="submit" value="Change state" class="btn btn-success"/>
</div>
</form><br>
</template>
我解决它通过使用其返回的数据模板的帮手,但宁愿从路由得到这一切。
所以这个任何想法?是否有更好的一个pproach实现这一点,还是有可能通过铁路路由器传递两个数据上下文,在这种情况下,如何?
谢谢!我已经尝试了一些与此类似的不同语法,但显然不是这样。顺便说一句,你是否知道this.route和Router.route之间的区别,猜测它基本上是相同的(旧的和新的语法?)。看到他们两个,但不知道要使用哪一个... –
没有什么区别,但使用'Router.route',它是更新的语法。 – saimeunt