Изображения разбиты на метеоре
Я делаю этот курс Метеор, где используется старая версия Метеор и не знаю, куда поместить файлы и папки. У меня есть изображения в общей папке, которая находится в моей основной папке и следующий 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}}
"Это" относится здесь к текущему объекту в массиве, который вы повторяете.