我一直在尝试在车把视图中单击按钮时调用一个函数, 但无法这样做。
现在,我是新手,也许不知何故。希望对此有所帮助。
基本上,这是我正在动态创建的表,但是单击按钮时无法调用该函数。
这是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>
虽然不确定如何解决它。
我不确定您为什么将其标记为重复。 链接到的问题-不能回答我的问题。但是,如果您确实在这里回答了我的问题,请至少给我发送一条消息,说明如何解决我的问题。