Я пытаюсь написать собственный итератор в пробелах (я использую метеор 1.1.3). Итератор должен быть последовательным циклом for (в основном, чтобы заменить мое использование #each, когда это необходимо, поскольку я считаю, что #each не гарантируется последовательностью в своей итерации).
Я пробовал следующее:
В библиотеке -
UI.registerHelper 'sequentialFor', () ->
ret = ""
for i in [[email protected]]
id = @[i]
ret = ret + Template.noop
ret
noop.html -
<template name="noop">
{{> UI.contentBlock this}}
<template>
основной.html -
{{#sequentialFor ids}}
<div id="wow-{{this}}">stuff</div>
{{/sequentialFor}}
ids в приведенном выше примере — это массив строк, переданных от одного из помощников основного шаблона.
Прямо сейчас он жалуется, что мой помощник по пользовательскому интерфейсу возвращает [object Object] [object Object]. Ради здравомыслия я знаю, что если я заменю свой помощник пользовательского интерфейса на:
UI.registerHelper 'sequentialFor', () ->
//ret = ""
//for i in [[email protected]]
// id = @[i]
// ret = ret + template
id = @[0]
Template.noop
Я понимаю, что div в моем main.html отображается с соответствующим идентификатором как часть его атрибута id по желанию. Однако я не могу заставить цикл for работать.
Я не могу просто вернуть div в main.html напрямую из помощника, потому что у меня есть много div, которые мне нужно обернуть с помощью моего нового итератора, каждый из которых имеет очень разные атрибуты.
Я предполагаю, что простой вопрос заключается в том, как мне определить свой собственный итератор блока (похожий на #each) в пробелах?
Более сложный вопрос может заключаться в том, что не так с моим подходом выше?
Я рассмотрел множество ресурсов, но нашел очень полезными только следующие: Как передать объект из помощника блока обратно в блок в метеоре? https://github.com/meteor/meteor/wiki/Using-Blaze https://github.com/meteor/meteor/blob/devel/packages/spacebars/README.md Перебор базового цикла for с использованием Handlebars. js
ПРИМЕЧАНИЕ Я использую coffeescript
this
не является массивом. - person pfkurtz   schedule 22.04.2015{{#each}}
над массивом будет упорядочено. - person user3374348   schedule 22.04.2015