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。(?)
任何试图提供其他值(?)将导致一个错误抛出。 重新配置一个属性首先需要删除该属性。如果属性没有删除,就如同重新配置前的尝试。
曾经蜡笔没有小新2017-05-19 10:32:50
把一个普通 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter。Object.defineProperty 是仅 ES5 支持,且无法 shim 的特性,这也就是为什么 Vue 不支持 IE8 以及更低版本浏览器的原因。