簡體   English   中英

如何將onClick功能傳遞到使用字符串文字創建的范圍?

[英]How to pass onClick funtion into a span created using string literals?

我有一個使用字符串文字創建的HTML對象,並使用了Dangerously Set HTML。 基本上,我只需創建span並在創建字符串文字時傳遞onClick,但是當我傳遞綁定在構造函數中的函數時。 后來我得到的錯誤是這不是一個功能。 如何在反應中使用字符串文字創建HTML對象時在onClick中傳遞函數? 這個HTML在render()中設置得很危險。

var html=`<span onClick="myFunc()">${text}</span>`;

這只是一個字符串,你不能有eventListerner。

或者聲明像這樣的DOM元素

var MySpan = Document​.create​Element('span');
MySpan.textContent = text;
MySpan.onclick = myFunc;


//....

function myFunc() {
  alert('span clicked !');
}

你可以這樣做:var html = {text}。 現在'html'可以起作為郵件組件中的純組件來在DOM中呈現但是這里this.myFunc是錯誤的,因為純組件本身不會攜帶任何范圍,你必須將函數作為prop傳遞或使用HOC來實現。

為了更清楚,請通過這個純組件記錄反應: 反應純組分

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM