Я новичок в ember.js и ember-cli, все шло хорошо, пока я не попытался создать свой первый собственный помощник.
Я пытаюсь просмотреть модель, отображая миниатюры изображений в нескольких строках на странице.
Кажется, все работает нормально, но я хотел бы попробовать связать ссылки.
Вот мой пользовательский помощник:
import Ember from "ember";
export default Ember.Handlebars.makeBoundHelper(function(value, options) {
var out = '';
var b = 0;
for (var i=0; i<value.length; i++) {
b++;
if(b === 1){
out += '<div class="row">';
}
out += '<div class="col-md-4 col-sm-6 col-xs-12 center" style="text-align:center;">\
<div class="row center">\
<div class="col-md-12 center">\
<a href="photo/'+value[i]._data.id+'">\
<img class="center" src="'+value[i]._data.thumb_url+'" />\
</a>\
</div>\
</div>\
<div class="row center">\
<div class="col-md-6">'+value[i]._data.status+'</div>\
<div class="col-md-6"></div>\
</div>\
</div>';
if(b === 3){
out += '</div><div class="row"><div class="col-md-12"> </div></div>';
b=0;
}
}
return new Handlebars.SafeString(out);
});
Я знаю, что вы не можете использовать ссылку непосредственно внутри помощника, поэтому я экспериментировал с разными вариантами, но безуспешно.
Наибольший успех у меня был, когда я пытался запустить link-to вручную, используя что-то вроде:
Ember.Handlebars.helpers.linkTo.call('photo/1', 'photo.index', options);
Но и это у меня не получилось.
Какие-нибудь советы? Боюсь, я, вероятно, делаю это совершенно неправильно
Изменить
Пример результата, которого я пытаюсь добиться с помощью помощника
<div class="row">
<div>
<a link><img></a>
</div>
<div>
<a link><img></a>
</div>
<div>
<a link><img></a>
</div>
</div>
<div class="row">
<div>
<a link><img></a>
</div>
<div>
<a link><img></a>
</div>
<div>
<a link><img></a>
</div>
</div>