js中函数多参数的简化

 1

function createPerson({ name = "Unknown", age = 0, gender = "Unknown", ...other }) {  
  return { name, age, gender, other };  
}  
  
const person = createPerson({ name: "John", age: 30, gender: "male", occupation: "developer", hobbies: ["reading", "traveling"] });  
console.log(person)

2

 /**
     * @Event 方法
     * @description: 更换点位图标、并将点击的点位移动到地图中心
     * @params: latLog:经纬度(非字符串) { lat: e.latitude, lng: e.longitude }
     * @params: data: 传递给选中图标点击出现的弹窗的数据(passData.data) data:{data: {}, type: "视频监控"}
     * @param: type: 4 视频监控  2 信息屏  3 路口  1 停车场
     * @param: imgType: 图片名称Choose.png
     * */
    setMapCenter(params) {
      const { latLog, data, imgType, type } = params
      console.log(latLog, data, imgType, type, "setMapCenter");
      this.map.panTo(latLog);
      this.removeSearchMarker();
      var markerIcon = "";
      markerIcon = L.divIcon({
        className: "markerBox",
        html: `<div><img class="eventMarker" src="\/img/work/realTimeMonitor/${imgType}\" /></div>`,
        iconSize: [40, 40],
      });
      this.searchMarker = new L.Marker(latLog, { icon: markerIcon });
      this.map.addLayer(this.searchMarker);
      this.searchMarker.setZIndexOffset(10000); // 设置层级以防被覆盖
      let that = this;
      this.searchMarker.on("click", function () {
        /* 选中后的图标点击事件 */
        if (type == 1) {
          let passData = {
            data: data.data,
            type: "停车场",
          };
          /* 打开停车场详情的弹窗 */
          that.$refs.parkingDialog.showDialog(passData);
        }

        if (type == 2) {
          let passData = {
            data: data.data,
            type: "信息屏",
          };
          /* 打开信息屏详情的弹窗 */
          that.$refs.screenDialog.showDialog(passData);
        }

        if (type == 3) {
          let passData = {
            data: data.data,
            type: "路口",
          };
          /* 打开路口详情的弹窗 */
          that.$refs.intersectionDialog.showDialog(passData);
        }

        if (type == 4) {
          let passData = {
            data: data.data,
            type: "视频监控",
          };
          /* 打开视频监控详情的弹窗 */
          that.$refs.monitorDialog.showDialog(passData);
        }
      });
    },





 let obj = {
        latLog: {
          lat: parseFloat(item.latitude),
          lng: parseFloat(item.longitude),
        },
        data: {
          data: {
            ...item,
            id: item.searchId,
            code: item.searchCode
          },
          type: typeList.find(e => e.interfaceType === item.searchType).type
        },
        imgType: typeList.find(e => e.interfaceType === item.searchType).imgType + "Choose.png",
        type:  typeList.find(e => e.interfaceType === item.searchType).searchType
      }
      this.$emit("setMapCenter", obj)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值