1, Vue and react, angular principle comparison:
(1) Angular with Dirty check
In angular 1, when watcher becomes more and more slow, because every change in the scope, all watcher are recalculated. Also, if some watcher trigger another update, the Dirty Check Loop (Digest cycle) may run several times. Angular users often use esoteric techniques to solve the problem of dirty check loops. Sometimes there's no easy way to optimize a scope with a lot of watcher.
(2) Vue Observation system based on dependency tracing and asynchronous queue updating
All data changes are triggered independently, unless there is a clear dependency between them.
(3) In react applications, when the state of a component changes, it renders the entire component subtree at the root of the component.
To avoid unnecessary child component rendering, you need to use purecomponent wherever possible, or manually implement the Shouldcomponentupdate method. At the same time you may need to use immutable data structures to make your components easier to optimize.
2, Compatibility
Vue.js does not support IE8 and the following versions, because Vue.js uses ECMAScript 5 features that IE8 cannot simulate. Vue.js supports all browsers that are compatible with all compatible ES5. (Vue will iterate through all the properties of this object and use Object.defineproperty to convert all of these attributes to Getter/setter.) Object.defineproperty is a feature that is ES5 supported and cannot be shim, which is why Vue does not support IE8 and the reasons for the lower version of browsers.