首頁  >  文章  >  web前端  >  vue.js為什麼不能支援ie8?

vue.js為什麼不能支援ie8?

青灯夜游
青灯夜游原創
2020-11-26 11:53:053309瀏覽

原因:1、ie8及以下版本不支援Object.defineProperty方法,但這個是vue實作響應式的所必須的,所以從Vue的源碼來看根本就無法支援IE8;2、Vue需要支持Promise的支持,IE8不支援Promsie。

vue.js為什麼不能支援ie8?

在從Vue官網路上看為什麼不支援IE8

Vue.js會對所有的實作雙向綁定的數據,使用Object.defineProperty 把這些屬性全部轉為getter/setter。 Object.defineProperty 是 ES5 中一個無法 shim 的特性,這就是為什麼 Vue 不支援 IE8 以及更低版本瀏覽器的原因。

注意這裡:Object.defineProperty是無法透過墊板實現的一個方法,是和瀏覽器本身有關係的,所以Vue從根本上來說本來就無法支援IE8;

Vue 不支援IE8 及以下版本,因為Vue 使用了IE8 無法模擬的ECMAScript 5 特性。但它支援所有相容 ECMAScript 5 的瀏覽器

且,Vue需要支援Promise的支持,IE8同樣不支援Promsie。

擴充資料:

Object.defineProperty()

此方法允許精確新增或修改物件的屬性。一般情況下,我們為物件新增屬性是透過賦值來建立並顯示在屬性枚舉中(for…in 或 Object.keys 方法),但這種方式新增的屬性值可以被改變,也可以被刪除。而使用 Object.defineProperty() 則允許改變這些額外細節的預設值。例如,預設情況下,使用 Object.defineProperty() 增加的屬性值是不可變更的。

在vue 原始碼中搜尋「Object.defineProperty」 :

vue.js為什麼不能支援ie8?

#可以看到有5 個符合的地方,也就是說vue 中有5 個使用了「Object.defineProperty()」。

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

Object.defineProperty()的瀏覽器支援情況:

vue.js為什麼不能支援ie8?

可以看出支持情況是IE9 以上。

相關推薦:

2020年前端vue面試題大匯總(附答案)

vue教程推薦:2020最新的5個vue.js影片教學精選

更多程式相關知識,請造訪:程式設計教學! !

以上是vue.js為什麼不能支援ie8?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn