我创建了一个 SharePoint 框架 Webpart。
我调用了一个 web 服务,它从 sharepoint(来自 termstore 的术语)返回一些数据,并为每个术语生成一个显示该术语的 html。在每个术语的 onclick 上,我想调用一个打字稿函数,将术语作为参数传递,以获取其子术语。
下面的代码创建了以下错误行为:当显示 web 部件时,它会在我什至没有点击时自动调用函数 this.readIterm !
我是否遗漏了什么或设计做错了?我试图用 onclick="readIterm($(term))" 替换 onclick="${this.readIterm(term)}" 但它什么也没做。
下面的代码
terms.forEach(term => {
htmlContent +=
`<div class="w3-card w3-third w3-margin-bottom" style="" onclick="${this.readIterm(term)}">
<header class="w3-container w3-blue">
<h1>Header</h1>
</header>
<div class="w3-container">
<span>${term.name}</p>
</div>
<footer class="w3-container w3-blue">
<h5>Footer</h5>
</footer>
</div>`
然后将此 html 添加到 this.domElement.innerHTML 中,并在 webpart 中显示它。
public readIterm(myTerm: ITerm) {
alert("readIterm is clicked");
}
如果我不遵循最佳实践,请提前感谢您的帮助和指导!
杰夫