Jadeテンプレートでローカルを使用すると、スコープに問題があります。私のコードは...
function(req, res) {
BlogPostModel.find({}, function(e, data) {
if (e) throw e;
posts = data;
var path = __dirname + "/view/admin/blog.jade",
template = fs.readFileSync(path, "utf8"),
options = { filename: path },
fn = jade.compile(template, options),
html = fn(posts);
res.end(html);
});
上記のコードは問題なくレンダリングされますが、「データ」をグローバル変数にする必要があります。むしろ、関数呼び出しに「データ」を直接渡したいと思います。しかし、そうすると、ジェイドから「変数が定義されていません」というエラーが表示されます。「データ」が範囲外である理由を誰かに教えてもらえますか?
ありがとう、
FBZ