如何在onclick事件中传递对象参数?


1. 普通的onclick传递对象

var user = {id:1, name:'zs', age:20};

var ele = '' + JSON.stringify(user).replace(/"/g, '"') + ');">修改';

或者

var ele = '' + JSON.stringify(user).replace(/"/g, '"') + '\');">修改';

前者取到的是json对象,后者取到的是json字符串。

2.  模板字符串中传递对象

this.groupDeviceListData.forEach((item) => {
          let marker = new AMap.Marker({
            map: this.map,
            zIndex: 9999999,
            position: [item.longitude, item.latitude],
            // w这里用来显示你需要自定义的图标 这里使用三目运算就比较方便了
            icon: new AMap.Icon({
              image:
                item.status == 1
                  ? require("@/assets/images/online.png")
                  : require("@/assets/images/offline.png"),
              // imageSize: [64, 64],   // 类似bacrground-size 大小
              size: [64, 64], // 图标尺寸 默认[36,36]
            }),
          });
          let status = "";
          let i = JSON.stringify(item).replace(/"/g, """);
          // i.push(item);
          console.log(i);

          status = item.status == 1 ? "在线" : "离线";
          marker.content = `
class="deviceBox">
class="deviceBox-header"> ${item.device_name}
class="deviceBox-con">

回路数量class="right"> ${item.loop_list.length}

状态class="right"> ${status}

经纬度class="right"> ${item.longitude} , ${item.latitude}

回路控制
`; marker.on("mouseover", this.infoOpen); //注释后打开地图时默认关闭信息窗体 // marker.on("mouseout", infoClose); // marker.on("click", newMAp); this.map.add(marker); });
js