按钮上的呼叫功能单击把手

时间:2019-07-29 10:41:50

标签: javascript express handlebars.js

我一直在尝试在车把视图中单击按钮时调用一个函数, 但无法这样做。

现在,我是新手,也许不知何故。希望对此有所帮助。

基本上,这是我正在动态创建的表,但是单击按钮时无法调用该函数。

这是calendar.hbs中的相关代码

 {{#each events}}
      <tr>
        <td>{{this.subject}}</td>
        <td>{{this.start.dateTime}} ({{this.start.timeZone}})</td>
        <td>{{this.end.dateTime}} ({{this.end.timeZone}})</td>
        <td>
          <ul class="list-unstyled">
            {{#each this.attendees}}
              <li class="border p-1" title="{{this.emailAddress.address}}">
                {{this.emailAddress.name}}
              </li>
            {{/each}}
          </ul>
        </td>
        <td>{{this.location.displayName}}</td>     
        <td><button onclick="editEvent({{this}})" >Edit</button></td>   
      </tr>
    {{/each}}
  </tbody>

并且我已经将该函数放在layout.hbs中 像这样的内部脚本标签

 <script>
  function editEvent(val){
    return function(e){
      console.log('val : ',val);
    }
  }
</script>

但我仍然收到错误消息,说"Uncaught SyntaxError: Unexpected identifier"

请告诉我我要去哪里错了。

现在,我也尝试在app.js中这样做

hbs.registerHelper("editEvent", function(event) {
  console.log('event : ',event);
  });

,然后在calendar.hbs中使用 修改

它正在运行,我可以在控制台中看到它。但是问题是它似乎正在加载时调用该函数,并且某种程度上是在加载时自动为表的所有行调用该函数...

那么,最好的方法是什么?

编辑: 我看了看那里的html,它像这样显示 好的,我看着它,它显示为

<td><button onclick="editEvent([object Object])" >Edit</button></td> 

虽然不确定如何解决它。

我不确定您为什么将其标记为重复。 链接到的问题-不能回答我的问题。但是,如果您确实在这里回答了我的问题,请至少给我发送一条消息,说明如何解决我的问题。

0 个答案:

没有答案