我在服务器端应用程序上使用dust.js。我有一些看起来像这样的代码:
dust.onLoad = function(tmpl, ctx, cb) {
console.log(ctx);
};
...
dust.context(null, { layout: this.layout });
console.log('context injected');
dust.stream('testTemplate', { test: true });
输出如下:
context injected
undefined
答案 0 :(得分:1)
当您致电dust.context
时,它会返回一个上下文供您稍后使用。它不会将您提供的选项设置为任何全局对象。
尝试将返回的上下文传递给dust.stream
这样的调用:
var ctx = dust.context(null, { layout: this.layout });
dust.stream('testTemplate', ctx.push({ test: true }));