簡體   English   中英

在javascript中的模板文字中將對象作為參數傳遞

[英]Passing object as a parameter in a template literal in javascript

我目前有一個對象,希望將其作為參數傳遞給模板文字內部的另一個函數:

    var template = `<button onclick="onclick(${object})"></button>`;

但是,這會使參數成為字符串值: [object Object]並且不傳遞參數。 有什么辦法可以將此參數傳遞給函數嗎?

提前非常感謝您。

您將需要將您的對象表示為字符串。 您可以使用JSON.stringify進行此操作:

var template = `<button onclick="handleClick(${JSON.stringify(obj).split('"').join("&quot;")})"></button>`;

您需要轉義雙引號(此代碼可以做到)和單引號(如果用於onclick事件)(此代碼不需要)。

onclick =“ onclick”實際上調用window.onclick-意味着它可以在任何地方獲得點擊。 您應該使用其他名稱(例如handleClick)。

我建議不要因為這種原因而使用內聯事件監聽器,因為如果您需要采用內容安全策略,它們可能會引起問題。

暫無
暫無

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

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