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