为什么vue.js和IE8不兼容?

为什么vue.js和IE8不兼容?下面本篇文章就来给大家介绍一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

Vue.js是一款流行的JavaScript前端框架,一个用于创建用户界面的开源JavaScript框架,旨在更好地组织与简化Web开发。Vue所关注的核心是MVC模式中的视图层,同时,它也能方便地获取数据更新,并通过组件内部特定的方法实现视图与模型的交互。

为什么vue.js不兼容IE8 及其以下版本?

*官方给出的解释是:

因为 Vue.js 使用了 IE8 不能模拟的 ECMAScript 5 特性。

Vue的数据代理实现使用了ECMASCript 5 的 Object.defineProperties(obj, props)方法,由于IE8不支持此方法,所以Vue自然也不支持IE8。

Object.defineProperty()

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

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

1.png-600

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

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

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

2.png-600

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

vue 官方有对这个的说明:

3.png-600

vue 文档 - 深入响应式原理

更多web前端开发知识,请查阅 HTML中文网 !!

以上就是为什么vue.js和IE8不兼容?的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Vue.js 答疑