当您查看许多较旧的(Pre 1.0)Ember代码时,Handlebars助手似乎是{{#linkTo}}
(例如,参见2013年1月的this SO帖子)。现在,该方法似乎是{{#link-to}}
,基于official Ember docs。
我找不到辅助方法何时改变的提及。但我只是在使用Ember 1.2和Handlebars 1.1.2的应用程序中尝试了{{#link-to}}
和{{#linkTo}}
,并且都按预期工作。
两个问题。这种变化何时发生?我在Handlebars changelogs或任何提及它的内容中都找不到它。 2,我认为既然{{#link-to}}
是目前文档中的内容,那就是新的方式。但是没有弃用通知。是否有计划不再支持{{#linkTo}}
?如果是的话,何时?哪个Ember / Handlebars版本?对于奖励积分,请链接到一篇文章,讨论该决定背后的理由。
答案 0 :(得分:6)
你不会在Handlebars的更改日志中找到关于link-to
的任何内容,因为它是Ember的助手类,而不包含在主Handlebars库中。
根据blog post for RC8,旧语法已被“软弃用”。旧方法标有@deprecated in the source但即使使用也不记录任何内容(即使设置Ember.ENV.RAISE_ON_DEPRECATION
也不记录)。
你也会看到那个旧版本作为新版本的直接别名保留,没有真正实现它自己。
Ember.Handlebars.registerHelper('linkTo', Ember.Handlebars.helpers['link-to']);
由于他们计划使用semantic versioning(as said in the post for the 1.0 release)作为他们的版本,他们无法真正删除此帮助程序,直到它们达到2.0。
答案 1 :(得分:2)
linkTo和bindAttr在this拉取请求中更改为link-to和bind-attr。使用带连字符的表单,因为它更接近web components自定义元素语法。因此,如果您当前的版本中有可用,请使用带连字符的形式。