2017-11-12 3 views
0

나는이 문제를 해결하기 위해 노력해 왔으며, 나는 도움을 요청할만큼 충분히 오랫동안 간단한 대답을 가지고있다. 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; 
     } 
    }); 
}); 

});

+0

표시되지 않습니다. 또한,'res.render'는 db 쿼리 다음에 있어야합니다 - 당신의'console.log'가 어디에 있는지. – dzm

+0

응답 해 주셔서 감사합니다. 렌더링 섹션을 지정한 위치로 옮기고 배열 호출을 넣었습니다. 그래도 작동하지 않습니다. 어떤 도움을 주시면 감사하겠습니다! –

답변

0

귀하의 데이터베이스 호출 후에 다음과 같은 형식이어야합니다 렌더링 : 나는 당신이 당신의 렌더링에 famlist``를 포함하고 어디

res.render('profile', { 
    famlist: famlist, 
    title: 'Profile' 
}) 
+0

그게 전부입니다! 이제 페이지에서 다음을 얻습니다. [object Object] [object Object], 각 항목에 대해 한 번. 이제 문제는 제 생각과 같습니다. famlist의 콘솔 로그는 "RowDataPacket {familyname : 'Kristina'}입니다. 이걸 다듬어야 할 것 같아요. –

+0

'{{this.familyname}} ' – dzm

+0

이"{{this.familyname}} " 도움과 교육에 너무 감사드립니다! –