路径对于 Blaze 升级后不再起作用的参数



我将meteor 0.7更新为0.8,铁路由器0.6.2更新为0.7.0,并添加了blaze布局0.2.2。

以前我有路径用于处理两个参数。 剥离到基本部分,它看起来像这样:

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

在更新路径仅返回模板的 url 后,不会对参数执行任何操作。 我还可以显示变量,并且所有内容都正确显示:

{{#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}}

任何想法将不胜感激!

iron-router存储库的 History.md:

{{

pathFor}} 和 {{urlFor}} 仍然适用于一些 api 更改:

    {
  • {pathFor 'routeName' params=this query="key=value&key2=value2" hash="somehash" anotherparam="anothervalue"}}
  • 与 {{urlFor}} 相同

从代码中的注释(第 41-47 行)中

 /**
 * Example Use:
 *
 *  {{pathFor 'items' params=this}}
 *  {{pathFor 'items' id=5 query="view=all" hash="somehash"}}
 *  {{pathFor route='items' id=5 query="view=all" hash="somehash"}}
 */

换句话说,pathFor帮助程序需要如下所示:

<a href="{{pathFor 'template' _id=this._id query="foo_param=foo"}}">link text</a>

希望有帮助。

fletch 是正确的,因为我昨天修复了同样的事情。见 https://github.com/EventedMind/iron-router/issues/580#issuecomment-39526280。

对于每个路径,我在浏览器控制台中收到以下错误:

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}}

最新更新