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 以及更低版本瀏覽器的原因。