Помощник Handlebars для списка запятых

Мне нужно взять список запятых из строки и превратить каждый элемент в элемент <li>.

Так что что-то вроде red, blue, green можно передать в хелпер handlebars и превратить в:

<li>red</li> <li>green</li> <li>blue</li>

я пытался

`

Em.Handlebars.helper('decomma', function(value, opts){
  var newArray = value.split(',');
  var html = [];

  $.each(newArray, function(prop, value){
      html.push('<li>'+value+'</li>');
  })

 return html;
})

`

но это просто возвращает html в виде строки.


person user3500707    schedule 05.04.2014    source источник
comment
Расскажите нам, что вы пробовали до сих пор (код) и какие проблемы у вас возникли при этой попытке.   -  person Tanmay Patil    schedule 05.04.2014
comment
Отредактированный вопрос, чтобы отразить то, что было опробовано.   -  person user3500707    schedule 05.04.2014


Ответы (1)


Как сказано в руководстве Ember.js по написанию хелперов Handlebars, Handlebars скоро исчезнет. ваш HTML, если вы не вернете SafeString. Используйте это вместо этого.

return new Handlebars.SafeString(html);

Кроме того, только мои два цента, вам может быть лучше использовать вычисляемое свойство. Что-то вроде этого:

Em.ObjectController.extend({
    value: 'red,blue,green',
    listItems: function() {
        return value.split(',');
    }).property(value)
});

Затем в вашем шаблоне:

<ul>
    {{#each listItems}}
        <li>{{this}}</li>
    {{/each}}
</ul>
person GJK    schedule 05.04.2014