2017-01-05 3 views
1

Я хочу отображать изображения из двух полей той же коллекции в моем приложении Meteor. Я использую SimpleSchema и AUTOFORM aldeed как так:Двойная итерация над 2 полями в Метеор

fullwidthImage: { 
    type: [String], 
}, 
"fullwidthImage.$" : { 
    autoform: { 
    afFieldInput: { 
     type: 'fileUpload', 
     collection: 'Images' 
    } 
    } 
}, 
halfwidthImage: { 
    type: [String], 
}, 
"halfwidthImage.$" : { 
    autoform: { 
    afFieldInput: { 
     type: 'fileUpload', 
     collection: 'Images' 
    } 
    } 
} 

Пока есть изображения в матрицах, я пытаюсь показать 1 полная ширина (FW) изображение, а затем 2 полуширины (HW). Довольно много, как так:

<------FW 1------> 
<--HW 1 | HW 2 --> 
<------FW 2------> 
<--HW 3 | HW 4 --> 

Поскольку мы не можем использовать Для петель внутри шаблонов, я с трудом пытаясь понять, как я мог бы сделать эту работу внутри помощника. Я думал о наличии всего 1 массива изображений и прокручивал его, но это не совсем то, чего я хочу достичь, поскольку изображения будут иметь разные размеры. Вложенные Каждая петля тоже не работает.

Любая помощь будет высоко оценена.

ответ

0

Я думаю, вы бы сделали это намного проще для себя, имея один плоский список изображений. вы можете добавить дополнительное свойство в схему, например, логическое «isFullSize», и отслеживать различные размеры изображений таким образом.

В противном случае вы ищете возможность слияния двух плоских списков либо в публикации, либо на клиенте.

, если вы делали это один плоский список, вы могли бы сделать что-то вроде этого:

<template name="PhotoFest"> 
    {{#each photo in photos}} 
     {{#if photo.isFullSize}} 
      {{> RenderFullSizePhoto photo=photo}} 
     {{else}} 
      {{> RenderHalfSizePhoto photo=photo}} 
     {{/if}} 
    {{/each}} 
</template> 

СМЧА будет немного сложнее, но это будет обрабатывать ваше зацикливание.

Теперь твердая часть получает ваши данные в правильном порядке, например: F, h, h, F, h, h, F, h, h (где F = полный и h = половина).

Это действительно будет зависеть от того, откуда эти данные. если вы находитесь в полном контроле и можете заказать его, отлично. вы можете добавить поле в свою схему «порядковый номер» номера типа и просто набрать фотографии с 1 по n. В своем издании вы бы отсортировали его.

Смежные вопросы