2017-08-01 4 views
0

jadeとnodeを使用し始めました。ノードからヒスイテンプレート(parent.jade)にオブジェクトを渡していて、同じヒスイファイル(parent.jade)を別のファイル(child.jade)に含めています。1つのjadeファイルから別のjadeファイルにサーバーオブジェクトを渡すことはできません

ノードの一部:parent.jadeで次に

res.render('parent.jade', {data: mydata}); 

は私が正しくデータを受信して​​います:それは次のように描かれているchild.pug

doctype html 
html 
    head 

     title parent 
     script(type="text/javascript" src="/resources/file_javascript.js"). 
      var data_from_node = !{JSON.stringify(data)}; //getting the data in javascript file 

    body(data-title="parent") 

     div#header(class="wrap") 
      include header.pug 

     ul#list(class="nav nav-tabs") 

     footer(id="footer" class="footer") 
      include footer.pug 

私は親ファイルを含めていますがしかし得ることができませんでしたデータオブジェクト。私は何もなく、すべてのものを試してみましたここで働く私は、次の方法でそれを含めていますされています

doctype html 
html 
    head 
     title child.pug 

    body(data-title="child") 
     div(class="wrap") 
      include parent.pug //here I am including parent.pug getting the content right 
     div#mydiv(class="tab-content") 
      include table.pug 
     footer(id="footer" class="footer") 
      include footer.pug 

     script(type='text/javascript'). 
      var data = !{JSON.stringify(data)}; //getting null here 
     script(type = "text/javascript", src = "/resources/file_javascript.js") 

私はchild.pugにnullを取得していますのでparent.pugからchild.pugの「データオブジェクト」を取得する方法はありますか?

答えて

0

残念ながら。 Node.jsでres.renderを呼び出すと、そのテンプレートに渡すコンテキスト変数は、そのテンプレートがレンダリングされている間だけ記憶されます。 child.pugにその変数へのアクセス権を持たせる場合は、res.render("child.pug", {...})に電話をしたときにも、そのテンプレートに積極的に渡す必要があります。

関連する問題