在vue-cli中使用vue2-google-maps是否可以兼容IE

发布网友 发布时间:2022-04-26 10:57

我来回答

2个回答

懂视网 时间:2022-05-15 03:57

这次给大家带来Vue在ie10下空白页debug方法总结,Vue在ie10下空白页debug的注意事项有哪些,下面就是实战案例,一起来看一下。

发现问题

前几天写的一段Vue,在ie下一片空白,f12显示script1003: expected : 。于是就有了这篇文章...

解决过程

baidu、google之,说是json最后一项有多余的逗号,例如

{
 a: 5,
 b: 4, // 最后一项不能有逗号
}

检索修正所有js文件不表,然而情况依旧。。。

没办法了,祭出无敌睿智debug技巧: 全文注释掉,再一行一行解掉注释,终于定位到bug位置: 一个自定义右键菜单的插件(v-contextmenu)有问题。。。

继续先前的睿智debug技巧,终于发现,好几个bug。。。

该插件下,所有对象最后一项都有逗号,导致在ie下不兼容

{
 a: 5,
 b: 4, // 这个逗号要删除
}
// ie下不支持这种语法
export default {
 bind() {}
}
// 必须在外面定义 function bind() {} 然后
export default {
 bind: bind
}
// 特别告诫,下面这种语法在ie中也是不支持的
export default {
 bind
}

最重要的,这个插件在一个很隐蔽的地方有这么两行代码

if(condition) {
 someArray.push({ a, b })
} else {
 anotherArray.push({ a, b })
}

而{ a, b }这种语法是ie不支持的,必须改成{ a: a, b: b }

一个上午就这么浪费了,你以为我要喷这个插件?我想说,谁用ie谁是狗

热心网友 时间:2022-05-15 01:05

entries是Object的ES6的功能,你需要babel一下,或者自己Polyfill一下,给你一下Pilyfill的代码

if (!Object.entries) {
  Object.entries = function( obj ){
    var ownProps = Object.keys( obj ),
        i = ownProps.length,
        resArray = new Array(i); // preallocate the Array
    while (i--)
      resArray[i] = [ownProps[i], obj[ownProps[i]]];
    
    return resArray;
  };
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com