如何将对象传递给车把助手

How to pass object to handlebars helper

使用 handlebars-1.1.2 和旧的 emberjs 1.5.1。 我有代码:

{{#each queue in appController.queues_services_array}}
    <label for="{{GetObjectId queue}}">{{queue.title}}</label></div>
{{/each}}

和帮手:

Handlebars.registerHelper('GetObjectId', function(value) {
  return value.id;
});

问题是提供给 helper 的数据只是 string "queue",不是对象。我想知道如何将 object "queue" 传递给 helper.

您可以使用 bind-attr 助手将您的值绑定到特定属性:

<label {{bind-attr for=queue.id}}>{{queue.title}}</label>

或者,如果您不希望更改值,则可以使用未绑定的助手,这会提高性能:

<label for="{{unbound queue.id}}">{{queue.title}}</label>

你能做的最好的事情就是更新到 Ember 的更新版本,这样你就可以使用允许你使用常规 Handlebars 的更新语法:

<label for="{{queue.id}}">{{queue.title}}</label>

假设您有时间和预算。