1、vue與react、angular原理對比:
(1)Angular用髒檢查
在 Angular 1 中,當 watcher 越來越多時會變得越來越慢,因爲作用域內的每一次變化,所有 watcher 都要重新計算。並且,如果一些 watcher 觸發另一個更新,髒檢查循環(digest cycle)可能要運行多次。Angular 用戶常常要使用深奧的技術,以解決髒檢查循環的問題。有時沒有簡單的辦法來優化有大量 watcher 的作用域
(2)vue基於依賴追蹤的觀察系統並且異步隊列更新
所有的數據變化都是獨立觸發,除非它們之間有明確的依賴關係。
(3)在 React 應用中,當某個組件的狀態發生變化時,它會以該組件爲根,重新渲染整個組件子樹。
如要避免不必要的子組件的重渲染,你需要在所有可能的地方使用 PureComponent,或是手動實現shouldComponentUpdate 方法。同時你可能會需要使用不可變的數據結構來使得你的組件更容易被優化。
2、兼容性
Vue.js 不支持 IE8 及其以下版本,因爲 Vue.js 使用了 IE8 不能模擬的 ECMAScript 5 特性。 Vue.js 支持所有兼容所有兼容ES5的瀏覽器。(Vue 將遍歷此對象所有的屬性,並使用Object.defineProperty把這些屬性全部轉爲 getter/setter。Object.defineProperty 是僅 ES5 支持,且無法 shim 的特性,這也就是爲什麼 Vue 不支持 IE8 以及更低版本瀏覽器的原因)