我正在使用KnockoutJS,它使用data-bind
属性中的json字符串来指示绑定信息。我也喜欢使用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属性。
谢谢!
答案 0 :(得分:5)
我尝试了管道符号,它对我有用:
%ul#task-list.unstyled{"data-bind" => |
"template: { " + |
"name : 'taskHierarchy'," + |
"foreach : contexts.children()," + |
"afterAdd: function(elem) {" + |
"$(elem).hide().slideDown()" + |
"} }"} |
答案 1 :(得分:-1)