【发布时间】:2014-12-06 17:32:01
【问题描述】:
我有一个名为 helpers.js 的文件,其中包含以下内容
var helpers = {
add: function(a,b){
return a+b;
},
sub: function(a,b){
return a-b;
},
mult: function(a,b){
return a*b;
},
div: function(a,b){
return a/b;
},
math: function(a,b,callback){
return callback(a,b);
}
};
module.exports = helpers;
在我的 app.js 中包含
var express = require("express"),
app = express(),
ejs = require("ejs"),
helpers = require("./helpers");
我试图让用户在此处使用以下代码将函数名称作为参数传递:
app.get('/number/:num1/:num2/:operation', function(req,res){
var a = parseInt(req.params.num1);
var b = parseInt(req.params.num2);
var operation = req.params.operation;
var result = helpers.operation(a,b);
res.render('math', {result: result});
});
由于变量操作是一个字符串,我收到错误 Object # has no method 'operation'。有没有办法将此参数转换为函数?还是有更好的方法来尝试做到这一点?谢谢!
【问题讨论】:
标签: javascript node.js express