使用haml-coffee动态提供所有属性

时间:2013-11-23 17:25:45

标签: hamlc

示例模板:

%input{ @attributes }

渲染示例:

@attributes = {:foo => :bar}
render :example_template 

带haml的示例输出:

<input foo="bar">

我尝试使用带有JST['example_template']({attributes: {foo: 'bar'}}的haml-coffe实现此功能,但它似乎没有像我预期的那样工作。

如何使用haml-coffee完全动态地提供所有属性?

1 个答案:

答案 0 :(得分:2)

通过在Haml-Coffee中不支持提供对象来指定所有属性,您需要在编译时明确定义已知的所有属性:

%input{ foo: @attributes['bar'] }

并使用

呈现模板
JST['example_template'](attributes: { foo: 'bar' })

如果您需要自由定义所有属性,我建议您在视图中设置它,例如

class ExampleView extends Marionette.View

  ui:
    foo: 'input[foo]'

  onRender: ->
    @ui.foo.attr(@attributes)