比方说,我想从一个emblem.js模板中调用一个Ember助手。
我已经通过(CoffeeScript语法)声明了助手:
Ember.Handlebars.registerHelper 't', (key, value, context) ->
...试图从徽标中调用助手时,使用
= t "my.i18n.key", "val", count: 42key被正确分配,除第一个参数外,所有参数都被删除,第二个参数被一些选项哈希替换,就像绑定助手的情况一样(第三个参数未定义)。
是否有任何方法在emblem.js中使用多个参数调用助手?
发布于 2013-11-02 06:15:34
我认为您只能传递一个值,但是可以对许多绑定/计算属性使用选项散列,如下所示:
Ember.Handlebars.registerBoundHelper('truncatedQuery',
function truncatedQueryHelper(value, options) {
console.log('value', value, 'options:',
options.hash['key1'], options.hash['key2'], options.hash['key3']);
// do work...
return somethingUseful;
});在模板中使用optionsHashKeyBinding=propertyOnControllerName,如下所示:
<div class='truncated-query'>
{{truncatedQuery 'value' key1Binding=prop1 key2Binding=prop2 key3=42}}
</div>其中prop1和prop2位于控制器上:
App.IndexController = Ember.Controller.extend({
prop1: 'foo',
prop2: function() {
return this.get('prop1') + 'bar';
}.property('prop1'),
});https://stackoverflow.com/questions/19422862
复制相似问题