Изображения разбиты на метеоре

Я делаю этот курс Метеор, где используется старая версия Метеор и не знаю, куда поместить файлы и папки. У меня есть изображения в общей папке, которая находится в моей основной папке и следующий main.html код клиента

<head>
  <title>image_share</title>
 </head>
<body>
  <h1>Welcome to Coursera!</h1>

  {{>images}}

</body>

<template name="images">
    {{#each images}}
        <img src="{{img_src}}" height="100" alt="{{img_alt}}" />
    {{/each}}
</template>

и следующий код клиента main.js

if (Meteor.isClient) {
    console.log("I am the client");

var img_data = [
    {
        img_src:"image1.jpg",
        img_alt:"dental surgery"
    },

    {
        img_src:"image2.jpg",
        img_alt:"carribean night"
    },

    {
        img_src:"image3.jpg",
        img_alt:"full moon palm tree"
    },

];

Template.images.helpers({images:img_data});
}

Моя проблема только image1.jpg появляется в окне браузера.

1 ответ

Ваши помощники должны быть функциями:

Template.images.helpers({
    images:function() {
        return img_data;
    },
});

И в вашем шаблоне хорошо явно ссылаться на данные в цикле в контексте "this":

{{#each images}}
    <img src="{{this.img_src}}" height="100" alt="{{this.img_alt}}" />
{{/each}}

"Это" относится здесь к текущему объекту в массиве, который вы повторяете.

Другие вопросы по тегам