首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在emblem.js助手调用中提供多个参数

在emblem.js助手调用中提供多个参数
EN

Stack Overflow用户
提问于 2013-10-17 09:26:48
回答 1查看 2K关注 0票数 2

比方说,我想从一个emblem.js模板中调用一个Ember助手。

我已经通过(CoffeeScript语法)声明了助手:

代码语言:javascript
复制
Ember.Handlebars.registerHelper 't', (key, value, context) ->
    ...

试图从徽标中调用助手时,使用

代码语言:javascript
复制
= t "my.i18n.key", "val", count: 42

key被正确分配,除第一个参数外,所有参数都被删除,第二个参数被一些选项哈希替换,就像绑定助手的情况一样(第三个参数未定义)。

是否有任何方法在emblem.js中使用多个参数调用助手?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-02 06:15:34

我认为您只能传递一个值,但是可以对许多绑定/计算属性使用选项散列,如下所示:

代码语言:javascript
复制
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,如下所示:

代码语言:javascript
复制
<div class='truncated-query'>
  {{truncatedQuery 'value' key1Binding=prop1 key2Binding=prop2 key3=42}}
</div>

其中prop1prop2位于控制器上:

代码语言:javascript
复制
App.IndexController = Ember.Controller.extend({
  prop1: 'foo',
  prop2: function() {
    return this.get('prop1') + 'bar';
  }.property('prop1'),
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19422862

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档