Javascript LitElement click函数执行两次
我有两个组件sdk按钮和一个上面的组件 在我的sdk按钮中,我有以下简单代码:Javascript LitElement click函数执行两次,javascript,typescript,lit-element,Javascript,Typescript,Lit Element,我有两个组件sdk按钮和一个上面的组件 在我的sdk按钮中,我有以下简单代码: public render() { return html` <button @click=${this._handleClick}>${this.text}</button> `; } _handleClick() { let click = new Event('click'); this.dispatchEvent(click); } 这可以工作,
public render() {
return html`
<button @click=${this._handleClick}>${this.text}</button>
`;
}
_handleClick() {
let click = new Event('click');
this.dispatchEvent(click);
}
这可以工作,但是changeProperty会被激发两次。有人能告诉我为什么会发生这种情况吗?我很确定这是因为有两个单击事件:一个是从弹出的按钮发出的本地事件,另一个是您手动发送的事件。尝试使用具有不同名称的自定义事件,或者从sdk按钮中删除分派并使用本机事件。我很确定这是因为有两个单击事件:从弹出的按钮中发出的本机事件和手动分派的事件。尝试使用具有不同名称的自定义事件,或者从sdk按钮中删除调度,然后使用本机事件。您可以使用e.preventDefault阻止按钮单击的默认行为,这使单击仅在调度事件中触发。您可以使用e.preventDefault阻止按钮单击的默认行为,这使单击仅触发派遣事件
public render() {
return html`
<h1>Hello, ${this.test}!</h1>
<sdk-button @click="${() => { this.changeProperty() }}" text="Click"></sdk-button>
`;
}
changeProperty() {
let randomString = Math.floor(Math.random() * 100).toString();
console.log(randomString)
}