帮助程序未在应用程序模板中正确定义?

时间:2013-02-12 12:52:34

标签: ember.js

我对ember.js非常陌生并且正在撞墙。我正在使用ember.js 1.0.0-pre4

我的app.js有以下设置:

window.App = Ember.Application.create();

App.Router.map(function() {
    this.route("dashboard", {path: "/"});
});

App.DashboardRoute = Ember.Route.extend({
})

我尝试在应用程序模板(Ember.TEMPLATES['application']

上执行此类操作
{{#linkTo "dashboard"}}Dashboard{{/linkTo}}

它给了我Uncaught Error: Could not find property 'linkTo'。我尝试了{{view}}以及其他助手,但都给了我同样的找不到属性错误。

jsfiddle:http://jsfiddle.net/gBf42/

1 个答案:

答案 0 :(得分:3)

啊哈,我发现了问题!当您使用Handlebars.compile时,它使用把手脚本而不是Ember脚本。 Ember有自己的把手对象,可以使用额外的模板扩展原始的Handlebars对象。其中一个模板是{{#linkTo ...}}模板。

所以要修复,你所要做的就是使用Ember.Handlebars:

Ember.TEMPLATES["application"] = Ember.Handlebars.compile("{{#linkTo 'dashboard'}}Dashboard{{/linkTo}}")