搜索

首页  >  问答  >  正文

javascript - vue如何兼容IE8?

求指教,vue有什么办法兼容ie8吗?

PHP中文网PHP中文网2778 天前1246

全部回复(4)我来回复

  • phpcn_u1582

    phpcn_u15822017-05-19 10:32:50

    vue.js的数据变动 是依赖Object.defineProperty()的。
    所以,需要先突破官方文档提到的这点,就目前来说。不打补丁,兼容还是难。。

    vue,出来前。我一直用ractivejs,完美兼容IE8,而且vue借鉴了好多TA的API。

    Internet Explorer 8 具体案例

    Internet Explorer 8 实现了 Object.defineProperty() 方法,但 只能在 DOM 对象上使用。
    需要注意的一些事情:

    尝试在原生对象上使用 Object.defineProperty()会报错。
    属性特性必须设置一些特定的值。对于数据属性描述符,configurable, enumerable 和 writable 特性必须全部设置为
    true;对于访问器属性描述符,configurable 必须设置为 true,enumerable 必须设置为 false。(?)
    任何试图提供其他值(?)将导致一个错误抛出。 重新配置一个属性首先需要删除该属性。如果属性没有删除,就如同重新配置前的尝试。

    回复
    0
  • ringa_lee

    ringa_lee2017-05-19 10:32:50

    没办法.
    vue依赖与es5的Object.defineProperty

    回复
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:32:50

    你是问了做项目还是为了用vue,用vue就不要考虑IE8,新的框架都不支持,做项目的话兼容到IE8就不要用vue了,换Avalon

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:32:50

    把一个普通 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是仅 ES5 支持,且无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。

    回复
    0
  • 取消回复