Как перебрать массив объектов класса в Handlebar? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть массив животных:

var animals = [new animal("giraffe", false, 4), new animal("zebra", false, 8), new animal("lion", false, 10), new animal("dog", true, 4), new animal("cat", true, 2)];

Как мне передать его на руль и повторить? По сути, я хочу показать всех животных, с каждым животным, отобразить все его свойства.

Спасибо Минь

1 Ответ

0 голосов
/ 08 мая 2018

Я понял это сам, чтобы делать то, что я хочу. Мне нужно сделать:

Server.js:

var animals = [new animal("giraffe", false, 4), new animal("zebra", false, 8), new animal("lion", false, 10), new animal("dog", true, 4), new animal("cat", true, 2)];
// Routes:
app.get("/allpets",function(req,res){
res.render("allpets", {pets: animals});
};

app.get("/pets/:id",function(req,res){
var type = req.params.id;
var index = -1
for(var i = 0; i < animals.length; i++){
if(animals[i].type === type){
index = i;
break;
}
res.render("animal", animals[index]);
});

Затем нам нужно создать 2 вида руля. Один называется allpets.hbs, другой - animal.hbs

allpets.hbs:
<ul>
{{#each pets}}
   <li>
       <p>Type: {{type}}</p>
       <p>Pet: {{pet}}</p>
       <p>Fierceness: {{fierceness}}</p>
   </li>
{{/each}}
</ul>
============================================================
animal.hbs:
<ul>
    <p>Type: {{type}}</p>
    <p>Pet: {{pet}}</p>
    <p>Fierceness: {{fierceness}}</p>
</ul>
...