【问题标题】:<OUTDATED> about {{linkTo}} in Ember.js Guide<OUTDATED> 关于 Ember.js 指南中的 {{linkTo}}
【发布时间】:2013-01-05 09:54:45
【问题描述】:

我正在阅读Ember.js templates 的指南。在上述链接的第一个示例的车把部分,他们使用了

{{#linkTo posts.post post}}

但我认为

{{#linkTo posts.post}}

会起作用的。

为什么我需要第二个参数“post”?

我看了解释:

如果路线有动态路段,则表示该路线的模型 部分。默认情况下,Ember.js 会将段替换为值 对象的 id 属性。

但我无法将此解释与上述问题联系起来。

【问题讨论】:

  • 抱歉,链接失效:(

标签: ember.js ember-router


【解决方案1】:

#linkTo 助手接受三个参数。

  1. 路线,在你的情况下posts.post
  2. 上下文,这里是您在循环中引用的特定 post 对象
  3. 选项哈希(目前支持title

因为posts.post 路由是动态路由,例如它可以是一组帖子中的一个,我们必须提供 #linkTo 助手,您要链接到哪个特定帖子。

【讨论】:

  • 那么{{#linkTo posts.post post}}中的posts.post与{{#each post in posts}}无关,而是post,在路由器中定义的帖子?
  • 正确我认为你也可以使用posts/post,但不要引用我的话
【解决方案2】:

其他人在传递给 Ember 中的 #link-to 助手的参数方面所说的内容是准确的,这里是任何正在寻找更多信息的人的文档链接。

你有你要链接的路由名称,第二个参数是提供模型上下文。

这里有更多信息:

http://emberjs.com/api/classes/Ember.Templates.helpers.html#method_link-to

【讨论】:

  • 修复了链接。新文档中的位置已更改。
  • “模型上下文”是一种很好的表达方式,因为您可以将多个动态值包装到一个对象中[并对其进行序列化],这样您就可以拥有多个动态段。
【解决方案3】:

对我来说,下面的代码可以正常工作:

  {{#each model as |book|}}
      <h3>{{#link-to 'book' book}}{{book.title}}{{/link-to}}</h3>
  {{/each}}

【讨论】:

    【解决方案4】:

    Link-to 的格式为 inlineblock

    参考:EmberJS-Template Link To Inline Helper

    【讨论】:

      猜你喜欢
      • 2013-08-15
      • 2013-04-14
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 2013-02-12
      • 2015-04-15
      • 2019-10-30
      相关资源
      最近更新 更多