vuejs不支持ie678,因为Vue.js使用了IE8及其以下版本不能模拟的ECMAScript5特性,例如“Object.defineProperty()”和“Promise”。
本教程操作环境:windows7系统、vue2.9.6版,DELL G3电脑。
vue支持 IE8及其以下版本,即不支持ie6、ie7、ie8。
那为什么呢?原因:
Vue 使用了 IE8及其以下版本无法模拟的 ECMAScript 5 特性。换句话说:Vue支持所有兼容 ECMAScript 5 的浏览器。
但具体是哪些特性呢?
Object.defineProperty()
该方法允许精确添加或修改对象的属性。一般情况下,我们为对象添加属性是通过赋值来创建并显示在属性枚举中(for…in 或 Object.keys 方法),但这种方式添加的属性值可以被改变,也可以被删除。而使用 Object.defineProperty() 则允许改变这些额外细节的默认设置。例如,默认情况下,使用 Object.defineProperty() 增加的属性值是不可改变的。
在 vue 源码中搜索 “Object.defineProperty” :
可以看到有 5 个匹配的地方,也就是说 vue 中有 5 处使用了 “Object.defineProperty()”。
搜索的版本是: Vue.js v1.0.26
Object.defineProperty()的浏览器支持情况:
可以看出支持情况是 IE9 及以上。
vue 官方有对这个的说明:
Promise
Vue需要Promise的支持,IE8同样不支持Promsie。