An article discusses the difference between key in Vue2 and key in Vue3
As a Vue
developer, we all know that when using the v-for
directive to render a list in Vue
, it must be in each child component. Add a key
attribute. This key
attribute is a special attribute used to identify the uniqueness of each node. There is a big difference between the key
in the Vue2.x
version and the key
in the Vue3.x
version, so in this blog , we will discuss the difference between key
in Vue2
and key
in Vue3
.
key in Vue2
In the Vue2.x
version, key
Mainly used for optimization strategies in Vue’s virtual DOM algorithm. In Vue2, when using the v-for
instruction to render a list, Vue
will compare the old and new nodes based on the value of key
, and then DOM
Update. key
in Vue2
has the following characteristics:
key must be a string or numeric type, cannot be an object and array. [Related recommendations: vuejs video tutorial, web front-end development]
##The value of key must be unique and cannot be repeated. - The value of key must be predictable and
- cannot be
randomly generated.
In
, due to the use of the key
optimization strategy, DOM
rearrangement and Re-rendering improves rendering performance and avoids erroneous data updates.
In the
Vue3.x version, the role of key
is the same as Vue2.x# The
in the ## version is different , it is mainly used to
track the identity of the node . In Vue3, when using the v-for directive to render a list,
Vue will determine which nodes are new based on the value of
key Which nodes were added and deleted, and then the DOM was updated.
key in
Vue3 has the following characteristics:
- including
- objects and arrays.
The value of key must be unique and cannot be repeated.
- The value of key can
- be non-predictable, such as a randomly generated value. The difference between
key in
Vue3 and
Vue2 is that the key in Vue3 is used for Keep track of node identity, rather than just optimizing rendering. This means that in
Vue3, the
uniqueness of key
must be guaranteed, otherwise it will lead to node identity confusion, resulting in incorrect rendering results.
This design is mainly to improve rendering efficiency and performance
Vue2, there may be some problems when dealing with dynamic lists. The
reason
Vue2 just makes a simple judgment based on the key
value, and then compares The difference between old and new nodes makes it impossible to accurately know which nodes are added and which nodes are deleted.
Vue3 solves these problems. Using
you can accurately determine
which nodes are added and which nodes are deleted. This makes Vue3
more efficient and accurate when processing dynamic lists, avoiding some problems existing in Vue2. Therefore, designing key
to track the identity of nodes is an important optimization for Vue3
in improving rendering efficiency and performance. Conclusion
key
in Vue2 and key# in
Vue3 ##There is a big difference in usage. The
key in
Vue2 is mainly used to optimize rendering performance, while the
key in
Vue3 is mainly used to track the identity of the node. The
key in
Vue3 can be of any type, including objects and arrays, but uniqueness must be guaranteed.
Whether we are using
Vue2 or
Vue3
key must be added when using the v-for
instruction to render the list Attribute, this is to ensure the correctness of rendering.
(Learning video sharing:
vuejs introductory tutorial,
Basic programming video
The above is the detailed content of An article discusses the difference between key in Vue2 and key in Vue3. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



When using the Vue framework to develop front-end projects, we will deploy multiple environments when deploying. Often the interface domain names called by development, testing and online environments are different. How can we make the distinction? That is using environment variables and patterns.

The difference between componentization and modularization: Modularization is divided from the perspective of code logic; it facilitates code layered development and ensures that the functions of each functional module are consistent. Componentization is planning from the perspective of UI interface; componentization of the front end facilitates the reuse of UI components.

Ace is an embeddable code editor written in JavaScript. It matches the functionality and performance of native editors like Sublime, Vim, and TextMate. It can be easily embedded into any web page and JavaScript application. Ace is maintained as the main editor for the Cloud9 IDE and is the successor to the Mozilla Skywriter (Bespin) project.

vscode itself supports Vue file components to jump to definitions, but the support is very weak. Under the configuration of vue-cli, we can write many flexible usages, which can improve our production efficiency. But it is these flexible writing methods that prevent the functions provided by vscode itself from supporting jumping to file definitions. In order to be compatible with these flexible writing methods and improve work efficiency, I wrote a vscode plug-in that supports Vue files to jump to definitions.

Foreword: In the development of vue3, reactive provides a method to implement responsive data. This is a frequently used API in daily development. In this article, the author will explore its internal operating mechanism.

Vue.js has become a very popular framework in front-end development today. As Vue.js continues to evolve, unit testing is becoming more and more important. Today we’ll explore how to write unit tests in Vue.js 3 and provide some best practices and common problems and solutions.

In Vue.js, developers can use two different syntaxes to create user interfaces: JSX syntax and template syntax. Both syntaxes have their own advantages and disadvantages. Let’s discuss their differences, advantages and disadvantages.

In the actual development project process, sometimes it is necessary to upload relatively large files, and then the upload will be relatively slow, so the background may require the front-end to upload file slices. It is very simple. For example, 1 A gigabyte file stream is cut into several small file streams, and then the interface is requested to deliver the small file streams respectively.
