¿Cuáles son las diferencias de sintaxis entre vue3 y 2.0?
1. vue2 usa el método Object.defineProperty para implementar datos responsivos, y vue3 usa proxy para implementar datos responsivos
Desventajas de Object.defineProperty:
No se puede para detectar objetos Adición y eliminación dinámica de atributos
No se pueden detectar cambios en los atributos de subíndice y longitud de la matriz
Solución:
vue2 proporciona Vue.$ set Puede agregar dinámicamente las propiedades de un objeto
Vue.$delete puede eliminar dinámicamente las propiedades de un objeto
Anular el método de matriz para detectar cambios en la matriz
Condiciones para el agente:
Los proxies en es6 no funcionan. El proxy es6 no admite navegadores de versiones inferiores (IE11)
Se lanzará una versión especial que admita IE11
Puntos clave del proxy:
Puedes insistir sobre agregar y eliminar proxies dinámicamente Las propiedades del objeto
pueden monitorear cambios en los atributos de subíndice y longitud de la matriz
2. Nuevas características de vue3:
①: Reimplementación de la respuesta de datos (el proxy ES6 reemplaza ES5 Object.defineProperty)
②: El código fuente se reescribe usando ts, mejor derivación de tipos
③: Nuevo algoritmo para DOM virtual ( más rápido, más pequeño)
④: proporciona API de composición, mejor reutilización de la lógica y organización del código
⑤: renderizador personalizado (aplicaciones, subprogramas, desarrollo de juegos)
⑥ : Fragmentos, las plantillas pueden tener múltiples elementos raíz