내가 그것을 어떻게했는지는 ... 찾을 수 없습니다 (그리고 그것은 작동!)
첫째, 내가 나의 모델은 '미리보기'속성/기능에 있었다, 단지를 돌려주는 배열의 arrayController :
Handlebars.registerHelper("for", function forLoop(arrayToLoop, options) {
var data = Ember.Handlebars.get(this, arrayToLoop, options.fn);
if (data.length == 0) {
return 'Chargement...';
}
filtered = data.slice(options.hash.start || 0, options.hash.end || data.length);
var ret = "";
for(var i=0; i< filtered.length; i++) {
ret = ret + options.fn(filtered[i]);
}
return ret;
});
그리고이 모든 마법 덕분에, 그때 내보기에서 호출 할 수 있습니다 : 다음
objectToLoop = Ember.Object.extend({
...
arrayController: [],
preview: function() {
return this.get('arrayController').toArray();
}.property('[email protected]'),
...
});
, 나는 새로운 핸들 바 도우미를 추가
<script type="text/x-handlebars">
<ul>
{{#bind objectToLoop.preview}}
{{#for this end=4}}
<li>{{{someProperty}}}</li>
{{/for}}
{{/bind}}
</ul>
</script>
그게 전부입니다.
나는 그것이 최적 아니라는 것을 알고, 그래서 누구든지 그것을 개선하는 방법에 대한 아이디어가, 나 :
우리는 http://handlebarsjs.com/에서 간단한 반복자 예제를 사용할 수 없다는 것을 알아 주시기 바랍니다 block_helpers.html 왜냐하면 나중에 채워지는 ArrayController를 사용하기 때문에이 함수는 무언가가 변경 될 때 업데이트하지 않습니다. – stadja