Ember.js帮助器无法正确识别参数

Dio*_*dre 2 handlebars.js ember.js

我正在尝试习惯Ember.js和Handlebars,但有一个问题令我感到困惑.我可能只是错过了一些东西,但已经有很长一段时间了,并且找不到任何错误.

我有简单的模板:

<header>

    <h2><a href="#" class="link-box-title">{{project.pid}}-{{projectWindowTitle project}}</a></h2>

</header>
Run Code Online (Sandbox Code Playgroud)

第一个{{project.pid}}正确输出project.pid值,我想将项目对象传递给helper函数:

Handlebars.registerHelper('projectWindowTitle', function(proj) {

    var info = proj.pid;
    return info;

});
Run Code Online (Sandbox Code Playgroud)

我过度简化了帮助器,但结果总是一样,帮助器不会返回任何东西:

<a href="#" class="link-box-title"><script id="metamorph-9-start" type="text/x-placeholder"></script>S2S<script id="metamorph-9-end" type="text/x-placeholder"></script>-</a>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Mic*_*ert 5

当在ember.js中使用把手时,助手签名与"普通"把手略有不同.主要区别在于,在调用帮助程序之前,参数未被"解析".

对于您的示例,proj是"project",因此您必须从视图中获取"project"的值:

Handlebars.registerHelper('projectWindowTitle', function(property, options) {
    var project = Ember.getPath(this, property);
    var info = project.get("pid");
    return info;
});
Run Code Online (Sandbox Code Playgroud)