Я учусь использовать фреймворк express.js, и пока все хорошо. Однако я столкнулся с проблемой. У меня есть файл json с объектами и элементами объекта. К элементам объекта относятся **categoryName** и **linkURL**. Я пытаюсь написать функцию, которая анализирует эти два элемента как представление ссылки. Вот что я пробовал: Это файл json

{
  "categoryName": "Appetizers & Sides",
  "categories": [
    {
      "categoryID": "294",
      "parentID": "304",
      "subjectID": "7",
      "categoryName": "Apps and Side Dishes (Laura)",
      "categoryDescription": "Learn to make amazing appetizers and side dishes with Laura in the Kitchen.",
      "videosCount": "101",
      "forumCategoryID": "163",
      "linkURL": "https://thenewboston.com/guide/introduction"
    },
    {
      "categoryID": "285",
      "parentID": "304",
      "subjectID": "7",
      "categoryName": "Side Dishes",
      "categoryDescription": "Side dish recipes for salads, vegetables, sauces with Hilah cooking.",
      "videosCount": "38",
      "forumCategoryID": "163",
      "linkURL": "https://thenewboston.com/guide/introduction"
    },
    {
      "categoryID": "337",
      "parentID": "304",
      "subjectID": "7",
      "categoryName": "Side Dishes (bt)",
      "categoryDescription": "Side dish recipes with Byron Talbott.",
      "videosCount": "5",
      "forumCategoryID": "163",
      "linkURL": "https://thenewboston.com/guide/introduction"
    },
    {
      "categoryID": "301",
      "parentID": "304",
      "subjectID": "7",
      "categoryName": "Side Dishes for Barbecue",
      "categoryDescription": "Barbecue side dish recipes done on the grill by the BBQ Pit Boys!",
      "videosCount": "43",
      "forumCategoryID": "163",
      "linkURL": "https://thenewboston.com/guide/introduction"
    },
    {
      "categoryID": "297",
      "parentID": "304",
      "subjectID": "7",
      "categoryName": "Soups and Salads (Laura)",
      "categoryDescription": "Looking for the perfect recipe to start your meal? Or are you looking to eat something on the lighter side? These are sure to have you covered!",
      "videosCount": "70",
      "forumCategoryID": "163",
      "linkURL": "https://thenewboston.com/guide/introduction"
    }
  ]
}

А это мой файл роутера

var express = require('express');
var router = express.Router();
var vd = require('../videodata.json')

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' , videodata: vd});
});

module.exports = router;

И это то, что я пытался сделать в своем файле ejs

<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
  <% include templates/header.ejs%>
    <h1><%= videodata.categoryName %></h1>
  <ul>
    <% videodata.categories.forEach(function(item){  %>
      <li><%=
          // TO DO: CREATE LINK TO APPEAR ON WEBSITE
          const a = document.createElement('a');
          a.href = item.categoryName;
          a.innerText = item.linkURL;
          document.body.appendChild(a);
        %></li>
    <% }); %>
  </ul>
  </body>
</html>

Итак, мой вопрос: как изменить ejs для отображения списка ссылок, например:

  1. categoryName
  2. categoryName каждая как ссылка на linkURL?
0
Mavrickj9 9 Фев 2021 в 19:08

1 ответ

Лучший ответ

Вы можете использовать приведенный ниже код для отображения списка ссылок.

<html>
  <head>
    <title><%= title %></title>
    <link rel='stylesheet' href='/stylesheets/style.css' />
  </head>
  <body>
  <% include templates/header.ejs%>
    <h1><%= videodata.categoryName %></h1>
  <ul>
    <% videodata.categories.forEach(function(item){  %>

      <li> <a href="<%= item.linkURL %>"><%= item.categoryName %></a> </li> 

    <% }); %>
  </ul>
  </body>
</html>
0
Ashok Kumar 10 Фев 2021 в 18:51