나는이 문제를 해결하기 위해 노력해 왔으며, 나는 도움을 요청할만큼 충분히 오랫동안 간단한 대답을 가지고있다. Node.js/handlebars webapp의 웹 페이지에 배열 (famlist)의 내용을 출력하려고합니다. 내 문제는 index.hbs 내부의 render.get 문으로 배열을 전달하는 것과 관련이있다. familylist 용 console.log가 올바르게 작동합니다. 실패한 시도를 모두 제거하고 어레이가 작동하지 않는 한 아래에 나열했습니다. 내가 추가 할 필요가있는 것을 찾고 있습니다 ... 사전에 도움을 주셔서 감사합니다! 여기Node.js & Handlebars : 렌더링 배열 페이지에
내 코드 :
핸들 바보기 페이지 :
<p> Currently entered list:
<ul class="people_list">
{{#each famArray}}
<li>{{this}}</li>
{{/each}}
</ul>
</p>
{{#if errors}}
{{#each errors}}
<div class="alert alert-danger">
{{this.msg}}
</div>
{{/each}}
{{/if}}
Index.hbs 섹션 :
router.get('/profile', authenticationMiddleware(), function(req, res) {
const db = require('../db.js');
db.query("SELECT * FROM users WHERE id = " + req.user.user_id, function(error, results, fields) {
if (error) throw error;
username = results[0].username;
db.query(`SELECT familyname FROM family WHERE user = "${username}"`, function(error, results, fields) {
if (error) throw error;
var famlist = results;
console.log(famlist);
res.render('profile', {
famlist: famlist
} {
title: 'Profile'
});
function createHTML(results) {
var rawtemplate = document.getElementById("famtemplate").innerHTML;
var compiledTemplate = Handlebars.compile(rawTemplate);
var ourGeneratedHTML = compiledTemplate(results);
var famContainer = document.getElementById("fam-container");
famContainer.innerHTML = ourGeneratedHTML;
}
});
});
});
표시되지 않습니다. 또한,'res.render'는 db 쿼리 다음에 있어야합니다 - 당신의'console.log'가 어디에 있는지. – dzm
응답 해 주셔서 감사합니다. 렌더링 섹션을 지정한 위치로 옮기고 배열 호출을 넣었습니다. 그래도 작동하지 않습니다. 어떤 도움을 주시면 감사하겠습니다! –