我正在使用 KnockoutJS,它在 data-bind
属性中使用 json 字符串来指示绑定(bind)信息。我也喜欢使用 HAML。
这个字符串很快就会变得很长,例如:-
%ul#task-list.unstyled{"data-bind" => "template: { name : 'taskHierarchy', foreach : contexts.children(), afterAdd: function(elem) { $(elem).hide().slideDown() } }"}
一种解决方案是使用 :plain
过滤器,如下所示(与上面略有不同):-
:plain
<div data-bind = "template: {
name: 'twoLineResourceTemplate',
foreach: resources,
afterAdd: function(elem) { $(elem).hide().slideDown() }
}">
</div>
有没有更简洁的方法使用 HAML 结构而不是过滤器来做到这一点?
我试过使用竖线字符,但它似乎不适用于 HAML 属性。
谢谢!
最佳答案
我尝试了管道符号,它对我有用:
%ul#task-list.unstyled{"data-bind" => |
"template: { " + |
"name : 'taskHierarchy'," + |
"foreach : contexts.children()," + |
"afterAdd: function(elem) {" + |
"$(elem).hide().slideDown()" + |
"} }"} |
关于html - HAML 中的多行属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7268526/