求指教,vue有什么办法兼容ie8吗?
认证高级PHP讲师
vue.js的数据变动 是依赖Object.defineProperty()的。所以,需要先突破官方文档提到的这点,就目前来说。不打补丁,兼容还是难。。
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。(?)任何试图提供其他值(?)将导致一个错误抛出。 重新配置一个属性首先需要删除该属性。如果属性没有删除,就如同重新配置前的尝试。
Internet Explorer 8 具体案例
Internet Explorer 8 实现了 Object.defineProperty() 方法,但 只能在 DOM 对象上使用。需要注意的一些事情:
尝试在原生对象上使用 Object.defineProperty()会报错。属性特性必须设置一些特定的值。对于数据属性描述符,configurable, enumerable 和 writable 特性必须全部设置为true;对于访问器属性描述符,configurable 必须设置为 true,enumerable 必须设置为 false。(?)任何试图提供其他值(?)将导致一个错误抛出。 重新配置一个属性首先需要删除该属性。如果属性没有删除,就如同重新配置前的尝试。
没办法.vue依赖与es5的Object.defineProperty
你是问了做项目还是为了用vue,用vue就不要考虑IE8,新的框架都不支持,做项目的话兼容到IE8就不要用vue了,换Avalon
把一个普通 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是仅 ES5 支持,且无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。
vue.js的数据变动 是依赖
Object.defineProperty()
的。所以,需要先突破官方文档提到的这点,就目前来说。不打补丁,兼容还是难。。
vue,出来前。我一直用ractivejs,完美兼容IE8,而且vue借鉴了好多TA的API。
没办法.
vue依赖与es5的Object.defineProperty
你是问了做项目还是为了用vue,用vue就不要考虑IE8,新的框架都不支持,做项目的话兼容到IE8就不要用vue了,换Avalon
把一个普通 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是仅 ES5 支持,且无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。