1. 普通的onclick傳遞對象
var user = {id:1, name:'zs', age:20}; var ele = '<a οnclick="edit(' + JSON.stringify(user).replace(/"/g, '"') + ');">修改</a>'; 或者 var ele = '<a οnclick="edit(\'' + JSON.stringify(user).replace(/"/g, '"') + '\');">修改</a>';
前者取到的是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 = `<div class="deviceBox"> <div class="deviceBox-header"> ${item.device_name} </div> <div class="deviceBox-con"> <p><span>回路數量</span><em class="right"> ${item.loop_list.length}</em></p> <p><span>狀態</span><em class="right"> ${status}</em></p> <p><span>經緯度</span><em class="right"> ${item.longitude} , ${item.latitude}</em></p> </div> <span class="loopBtn" onclick="singleLoop('${i}')">回路控制</span> </div>`; marker.on("mouseover", this.infoOpen); //注釋后打開地圖時默認關閉信息窗體 // marker.on("mouseout", infoClose); // marker.on("click", newMAp); this.map.add(marker); });