Значения многострочных атрибутов в HAML - PullRequest
6 голосов
/ 01 сентября 2011

Я использую KnockoutJS, который использует строку json в атрибуте data-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атрибуты.

Спасибо!

Ответы [ 2 ]

5 голосов
/ 20 января 2012

Я попробовал обозначение трубы, и оно работает для меня:

%ul#task-list.unstyled{"data-bind" => |
"template: { "                      + |
"name : 'taskHierarchy',"           + |
"foreach : contexts.children(),"    + |
"afterAdd: function(elem) {"        + |
"$(elem).hide().slideDown()"        + |
"} }"}                                |
0 голосов
/ 22 июня 2012

Вы можете попробовать этот пост на KnockoutJS и ненавязчивый JavaScript

...