1

meteor 0.7 を 0.8 に、iron router 0.6.2 を 0.7.0 にアップデートし、blaze-layout 0.2.2 を追加しました。

以前は、2 つのパラメーターで動作する pathFor がありました。必要な部分だけを切り取ると、次のようになります。

{{#each users}}                                                                                                                                                                          
   <a href="{{pathFor 'template' _id=this._id fooParam=foo}}">link text</a>
{{/each}}

update pathFor がテンプレートの URL のみを返すと、params は何も処理されません。変数を表示することもでき、すべてが正しく表示されます。

{{#each users}}
   {{this._id}} {{!displayed correctly in browser}}  
   {{foo}}      {{!displayed correctly in browser}}                                                                                                                            
   <a href="{{pathFor 'template' _id=this._id foo_param=foo}}">link text</a>
{{/each}}

_id を設定してデータ コンテキストを使用しようとしても、結果は変わりません。

{{#each users}}                                                                                                                            
   <a href="{{pathFor 'template'}}">link text</a>
{{/each}}

どんなアイデアでも大歓迎です!

4

2 に答える 2

1

昨日同じことを修正したという点で、フレッチは正しいです。https://github.com/EventedMind/iron-router/issues/580#issuecomment-39526280を参照してください。

pathFor ごとに、ブラウザ コンソールに次のエラーが表示されました。

Exception in Meteor UI: TypeError: Cannot read property 'params' of undefined
at Object.processPathArgs (http://localhost:3000/packages/iron-router.js?a4167ac4d12a73891d8a9b8c57419a347da0ee12:2200:22)
at Object._.extend.pathFor (http://localhost:3000/packages/iron-router.js?a4167ac4d12a73891d8a9b8c57419a347da0ee12:2227:34)
at http://localhost:3000/packages/ui.js?b523ef986d3d39671bcb40319d0df8982acacfe8:2838:23
at Spacebars.call (http://localhost:3000/packages/spacebars.js?5d478ab1c940b6f5a88f78b8adc81a47f022da77:173:18)
at Spacebars.mustacheImpl (http://localhost:3000/packages/spacebars.js?5d478ab1c940b6f5a88f78b8adc81a47f022da77:110:25)
at Object.Spacebars.mustache (http://localhost:3000/packages/spacebars.js?5d478ab1c940b6f5a88f78b8adc81a47f022da77:114:39)
at HTML.A.href (http://localhost:3000/client/views/prayers/template.prayer_item.js?e15ce9378850d2ce553c8c60647642a543534557:58:30)
at http://localhost:3000/packages/htmljs.js?697b0dd0fbdd1f8984dffa3225121a9b7d0b8609:254:14
at callWithNoYieldsAllowed (http://localhost:3000/packages/deps.js?7afb832ce6e6c89421fa70dc066201f16f9b9105:74:5)
at _.extend._compute (http://localhost:3000/packages/deps.js?7afb832ce6e6c89421fa70dc066201f16f9b9105:212:7) 

さまざまな {{pathFor 'items' this}} を {{pathFor 'items' params=this}} に変更しました

于 2014-04-04T09:01:07.003 に答える