15

非常に基本的な問題に遭遇しましたが、答えが見つからないようです。私は で作業していnode.jsますexpressが、ローカル変数を次のようにビューに渡そうとしています:

 app.get('/', function(req, res){
  res.render("index", {locals: {
    title: "Blog",
    }
  });
});

私のインデックス ビューも同様に単純です。

h1= title

しかし、何らかの理由で、ローカル変数が渡されないかのように、このエラーが発生し続けます。

 500 ReferenceError: /home/spartan/Node_Projects/test/views/index.jade:1 > 1| h1= title 2| title is not defined
> 1| h1= title
  2| title is not defined

何が間違っているのかわからない!私が使用しているバージョンは次のとおりです。

  • エクスプレス: 3.0.0alpha1
  • ノード.JS: 0.6.14
  • ジェイド:0.24.0

ノード+エクスプレスの学習に実際に進むことができるように、誰か助けてください!

4

3 に答える 3

28

.なしで変数を渡す必要がありますlocals。これはおそらく Express 3.0.0 の新機能です。

res.render("index", {title: "Blog"});
于 2012-04-18T08:24:10.453 に答える
4

h1 = title はローカルで評価しようとします。送信したタイトルとそれは異なります。違いを理解するには、次を参照してください。

- var title = 'my title' // - allows writing code
h1 = title

使用する必要があるのは次のとおりです。

h1 #{title}
于 2012-04-17T22:17:24.120 に答える
1

これは、数時間前に似たような質問 (+ レイアウトの処理) に対して行った回答です。レンダリング時にデータを渡す方法を示します。(Express 3.0.0準拠)

于 2012-04-18T11:50:19.967 に答える