我试图在Express-Handlebar中传递一个函数, 但它不起作用。 我将app.js用作服务器文件,并将index.handlebars用作车把文件。
app.js
const express=require('express');
const app=express();
const csc=require('countrycitystatejson');
const exphbs=require('express-handlebars');
app.engine('handlebars', exphbs());
app.set('view engine', 'handlebars');
// console.log(csc.getAll());
function hello(){
console.log('hello');
}
app.get('/', function (req, res) {
res.render('index',{
hello:hello
});
});
app.listen(3000);
index.handlebars
<button onclick="hello()">click</button>
答案 0 :(得分:0)
最好为此创建一个助手。在一个示例下面,并参考Github以获得有关该主题的更多信息。
const express=require('express');
const app=express();
const csc=require('countrycitystatejson');
const exphbs=require('express-handlebars');
var hbs = exphbs.create({
helpers: {
hello: function () { console.log('hello'); }
}
});
app.engine('handlebars', hbs.engine);
app.set('view engine', 'handlebars');
// console.log(csc.getAll());
app.get('/', function (req, res) {
res.render('index');
});
app.listen(3000);
index.handlebars
<button onclick="{{hello}}">click</button>