【问题标题】:Handlebars template tags in helpers string助手字符串中的车把模板标签
【发布时间】:2013-11-19 12:42:49
【问题描述】:

是否可以将车把模板标签放在生成的html字符串中?

例如:

Ember.Handlebars.helper(...) {
  return new Handlebars.SafeString("<button {{action go}}></button>");
}

我知道这行不通,但任何人都可以提出正确的方法吗? (如果存在)
其html源码为:

<button {{action go}}></button>    

但它应该是这样的:

<button data-ember-action="x"></button>    

其中 x 是某个整数

干杯。

【问题讨论】:

    标签: javascript ember.js handlebars.js


    【解决方案1】:

    您可以在运行时编译和调用模板:

    Ember.Handlebars.helper('trigger-action', function(options) {
      var compiledTemplate = Ember.Handlebars.compile('</h1><a href="#" {{action go}}>Click</a>');  
      return compiledTemplate(null, options);
    });
    

    示例http://emberjs.jsbin.com/uhedazok/1/edit

    请记住,模板始终会被编译,因此您可能会遇到一些性能问题。

    【讨论】:

    • 多个选项呢?如何通过它们?
    • nvm 我想通了。谢谢:)
    • 是否可以将参数传递给动作名称?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-11
    • 2020-04-02
    • 1970-01-01
    • 2016-01-10
    • 2013-02-05
    相关资源
    最近更新 更多