vue.js不能支持ie8的原因是什么-创新互联

这篇文章将为大家详细讲解有关vue.js不能支持ie8的原因是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的长白网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

原因:1、ie8及以下版本不支持Object.defineProperty方法,但这个是vue实现响应式的所必须的,所以从Vue的源码来看根本就无法支持IE8;2、Vue需要支持Promise的支持,IE8不支持Promsie。

在从Vue官网上看下为什么不支持IE8

Vue.js会对所有的实现双向绑定的数据,使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是 ES5 中一个无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。

注意这里:Object.defineProperty是无法通过垫板实现的一个方法,是和浏览器自身有关系的,所以Vue从根本上来说本来就无法支持IE8;

Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAScript 5 的浏览器

且,Vue需要支持Promise的支持,IE8同样不支持Promsie。

扩展资料:

Object.defineProperty()

该方法允许精确添加或修改对象的属性。一般情况下,我们为对象添加属性是通过赋值来创建并显示在属性枚举中(for…in 或 Object.keys 方法),但这种方式添加的属性值可以被改变,也可以被删除。而使用 Object.defineProperty() 则允许改变这些额外细节的默认设置。例如,默认情况下,使用 Object.defineProperty() 增加的属性值是不可改变的。

在 vue 源码中搜索 “Object.defineProperty” :

vue.js不能支持ie8的原因是什么

可以看到有 5 个匹配的地方,也就是说 vue 中有 5 处使用了 “Object.defineProperty()”。

搜索的版本是: Vue.js v1.0.26

Object.defineProperty()的浏览器支持情况:

vue.js不能支持ie8的原因是什么

可以看出支持情况是 IE9 及以上。

关于“vue.js不能支持ie8的原因是什么”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。


当前名称:vue.js不能支持ie8的原因是什么-创新互联
文章起源:http://azwzsj.com/article/ddpphe.html