HAML中的多行属性值

vau*_*han 6 html haml knockout.js

我正在使用KnockoutJS,它使用data-bind属性中的json字符串来指示绑定信息.我也喜欢使用HAML.

这个字符串可以很快变长,例如: -

%ul#task-list.unstyled{"data-bind" => "template: { name : 'taskHierarchy', foreach : contexts.children(), afterAdd: function(elem) { $(elem).hide().slideDown() } }"}
Run Code Online (Sandbox Code Playgroud)

解决方案是使用:plain如下过滤器(与上面略有不同): -

:plain
  <div data-bind = "template: {
    name: 'twoLineResourceTemplate',
    foreach: resources,
    afterAdd: function(elem) { $(elem).hide().slideDown() }
  }">
  </div>
Run Code Online (Sandbox Code Playgroud)

有没有更简洁的方法来使用HAML构造而不是过滤器?

我已经尝试使用管道字符但它似乎不适用于HAML属性.

谢谢!

chr*_*der 7

我尝试了管道符号,它对我有用:

%ul#task-list.unstyled{"data-bind" => |
"template: { "                      + |
"name : 'taskHierarchy',"           + |
"foreach : contexts.children(),"    + |
"afterAdd: function(elem) {"        + |
"$(elem).hide().slideDown()"        + |
"} }"}                                |
Run Code Online (Sandbox Code Playgroud)