本地EJS函数不读取变量

时间:2014-01-21 22:26:04

标签: javascript ejs

我在express中使用ejs模板并尝试将一些函数附加到本地ejs变量,但我似乎无法从另一个变量添加该函数。

var fn = function () {
    return master;
}

var locals = { 
    master:'test'
};

locals['someFn'] = fn;

var stylesheet = ejs.render(data, { 
    locals: locals
});

在我的ejs模板中,如果我这样做:

<%= someFn() %>

我收到错误,但如果我明确附加了该函数,则没有错误,并且“test”会成功打印到屏幕上。

var locals = { 
    master:'test'
};
locals['someFn'] = function () {return master;}

有人能让我知道我在这里缺少什么吗?

*的 修改 *

我得到的错误是主人没有被定义。

1 个答案:

答案 0 :(得分:0)

以答案的形式陈述我的答案,使其成功的改变是:

var fn = function () {
   return this.master;
}