2017-11-12 16 views
0

私はこの問題を解決するために戦ってきましたが、私は確かに簡単な答えを持っています。私は配列(famlist)の内容をNode.js/handlebars webappのWebページに出力しようとしています。私の問題は、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

それは良いです!今度は、ページ上で[オブジェクトオブジェクト] [オブジェクトオブジェクト]を各アイテムごとに1回ずつ取得します。今問題は私の配列と考えています。 –

+0

{{this.familyname}} ' – dzm

+0

この「{{this.familyname}}」を使用して、それを実行しました援助と教育にとても感謝しています! –

関連する問題