使用背景:
需要向html的标签中增加事件(onclick,,onmousedown,onfocus....),如果需要向调用的函数传参数,并且传递的参数存在对象,那么可以参考以下的方法。
方法一: JSON. stringify( value). replace(/"/,'"')
由于html不识别对象,所以在html中需要把对象通过json转换成字符串,才可以传入方法中。
.....
let domArr=[];
let obj={
name: zyk,
age: 26
};
function test(obj){console. log(obj)}
let params= JSON.stringify( obj).replace(/"/,'"');//把对象转换成json字符串,并且增加html编码
domArr.push(<a href="#" onclick=" test( obj)">);
.....
说明:此方法只能转换一层对象,例如obj={ name: zyk, age:26},不能转换深层的对象例如obj={ name: zyk, from:{{ city:北京}}。