Isso nos torna muito mais convenientes durante o processo de desenvolvimento, mas como é implementada a implementação subjacente de um método tão conveniente?
2. Princípio de implementação
O princípio subjacente da ligação de dados bidirecional do Vue é baseado principalmente em dois mecanismos: método Object.defineProperty e DOM virtual (se você não entende Object.defineProperty, você pode aprender sobre isso primeiro)
Vue implementa o padrão observador usando Object.defineProperty no objeto de dados. Por meio desse recurso, o Vue pode rastrear alterações de dados e notificar dependências relacionadas para atualizar quando elas mudarem.
Vue converterá objetos de dados em objetos reativos. Quando o objeto de dados for acessado, o Vue irá modificá-lo através de Object.defineProperty e adicionar getters e setters. Quando o valor de uma propriedade é modificado, o Vue escutará a mudança e notificará o local onde os dados são usados para atualizar adequadamente.
DOM virtual (DOM virtual): Vue usa DOM virtual para otimizar a atualização e renderização de dados. Virtual DOM é um objeto JavaScript na memória que representa um nó DOM. Quando os dados mudam, o Vue criará uma nova árvore DOM virtual e calculará a quantidade mínima de operações DOM comparando a diferença entre as árvores DOM virtuais antigas e novas e, em seguida, atualizará apenas as partes que precisam ser alteradas.
Títulos de terceiro nível Dessa forma, o Vue obtém atualizações eficientes do DOM, evita redesenho e nova renderização inválidos e melhora o desempenho.
Resumindo, o princípio subjacente da ligação de dados bidirecional do Vue é baseado principalmente no modo observador e no DOM virtual. Ao usar o padrão observador para rastrear alterações de dados e otimizar a atualização e renderização de dados por meio de DOM virtual, o Vue implementa vinculação de dados e operações DOM eficientes, proporcionando uma experiência de desenvolvimento conveniente.