Heim > Web-Frontend > View.js > Hauptteil

vue.js为什么不能支持ie8?

青灯夜游
Freigeben: 2020-11-26 11:53:26
Original
3259 人浏览过

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

vue.js为什么不能支持ie8?

在从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” :

1.png

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

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

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

2.png

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

相关推荐:

2020年前端vue面试题大汇总(附答案)

vue教程推荐:2020最新的5个vue.js视频教程精选

更多编程相关知识,请访问:编程教学!!

以上是vue.js为什么不能支持ie8?的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!