Почему у меня есть NaN на Node.js? - PullRequest
0 голосов
/ 24 октября 2019

Сейчас я делаю доску объявлений. Выше приведен код шаблона для него, где функция страницы имеет NaN. В чем причина этой ошибки и как ее исправить?

Код ниже написан в файле node.js.

module.exports = {
    HTML:function(title, board, control, page){
      return `
      <!DOCTYPE html>
      <html>
          <head>
            <title>${title}</title>
            <meta charset="utf-8">
            <style type="text/css">
        ul.board, ol.board {
            list-style: none;
            margin: 0px;
            padding: 5px;
        }
        form {
          display: inline;
        }
        table.type09 {
          border-collapse: separate;
          text-align: left;
          line-height: 2;
      
      }
      table.type09 thead th {
          padding: 10px;
          font-weight: bold;
          vertical-align: top;
          color: #369;
          border-bottom: 3px solid #003699;
      }
      table.type09 tbody th {
          width: 150px;
          padding: 10px;
          font-weight: bold;
          vertical-align: top;
          border-bottom: 1px solid #ccc;
          background: #f3f6f7;
      }
      table.type09 td {
          width: 350px;
          padding: 10px;
          vertical-align: top;
          border-bottom: 1px solid #ccc;
      }
        </style>
          </head>
          <body>
              <div id="board">
              <table class="type09">
                      <thead>
                        <tr>
                          <th>제목</th>
                          <th>작성자</th>
                          <th>날짜</th>
                          <th>조회수</th>
                        </tr>
                      </thead>
                      <tbody>
                        ${board}
                      </tbody>
                  </table>
                  ${control}
              </div>
                ${page}
          </body>
      </html>`;
    },board: function (lifeboards) {
    var board = ``;
    for (i = 0; i < lifeboards.length; i++) {
      var article = lifeboards[i];
      var titleBold = article.titleBold;
      board += `<tr>`;
      if(titleBold == "1") {
        board += `<td><a href="/?id=${article.id}"> <b><공지>${article.title}</b> </a></td>`;
        board += `<td>${article.writer}</td>`;
        board += `<td>${article.day}</td>`;
        board += `<td>${article.see}</td>`;
        board += `</tr>`;
      }
    }
    for (i = 0; i < lifeboards.length; i++) {
        var article = lifeboards[i];
        var titleBold = article.titleBold;
        board += `<tr>`;
        if(titleBold == "1") {
          board += `<td><a href="/?id=${article.id}"> ${i+1}. <b>${article.title}</b> </a></td>`;
        } else if(titleBold == "0") {
          board += `<td><a href="/?id=${article.id}" style="text-decoration:none">${i+1}. ${article.title}</a></td>`;
        }
        board += `<td>${article.writer}</td>`;
        board += `<td>${article.day}</td>`;
        board += `<td>${article.see}</td>`;
        board += `</tr>`;
    }
    return board;
  },page:function (lifeboards) {
    var page = ``;
      page =+ `<tr>`;
      page =+ `<td colspan="5">`;
      for(j = 0; j < lifeboards.length/5; j++) {
        page =+ `<a href="/?page=${j+1}">[${j+1}]</a>`;
      }
      page =+ `</td>`;
      page =+ `</tr>`;
    return page;
    } 
}

На рисунке ниже показано, как он работает.

Я не знаю, насколько больше деталей хочет Stackoverflow, но это весь мой код, и ничего нетподробнее, чтобы объяснить.

sorry for korean. just watch NaN error

1 Ответ

0 голосов
/ 24 октября 2019

Пожалуйста, используйте этот, вам нужно сначала добавить оператор concat ( + ), а затем =. например, +=

 page: function (lifeboards) {
    var page = ``;
    page += `<tr>`;
    page += `<td colspan="5">`;
    for (j = 0; j < lifeboards.length / 5; j++) {
        page += `<a href="/?page=${j + 1}">[${j + 1}]</a>`;
    }
    page +=  `</td>`;
    page += `</tr>`;
    return page;
}

Надеюсь, что это решит проблему.

...