首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Express-handlebars中将函数作为变量传递

如何在Express-handlebars中将函数作为变量传递
EN

Stack Overflow用户
提问于 2019-05-12 19:26:39
回答 1查看 407关注 0票数 0

我试图将一个函数作为变量传递,并使用onclick="“调用该函数,但该函数在传递之前已执行。

下面是代码。

seminar.js

代码语言:javascript
复制
function getco(){
  console.log('hello');
}
router.get('/add',(req,res)=>{
  res.render('cms/seminar/add',{
    getco:getco()
  });
});

add.handlebars

代码语言:javascript
复制
<form action="/cms/seminar/add" method="post">
<div class="form-group">
          <label for="sel1">Game Name of the Seminar</label>
            <select class="form-control" id="seminar_gamename" name="seminar_gamename" required onclick="getco">
              <option value="pubg">Pubg</option>
              <option value="candy_crush">Candy Crush</option>
              <option value="fortnite">Fortnite</option>
              <option value="mortal_combat">Mortal Combat 11</option>
              <option value="far_cry_city">Far Cry City Dowm</option>
              <option value="fortnite">Fortnite</option>
              <option value="prince_of_persia">Prince of Persia:The Forgotten Sand</option>
            </select>
        </div>
</form>

//但我得到的结果是'hello‘,甚至没有点击

EN

回答 1

Stack Overflow用户

发布于 2019-05-12 22:43:58

正如在上面的注释中提到的,您直接调用函数,而不是将其传递到前端。

尝试从getco中删除()

代码语言:javascript
复制
`function getco(){
  console.log('hello');
}
router.get('/add',(req,res)=>{
  res.render('cms/seminar/add',{
    getco:getco
  });
});`

这允许您将方法作为变量传递,然后在前端使用,

onclick="getco()"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56098765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档