Home >Web Front-end >Front-end Q&A >What is the difference between mounted and created in vue

What is the difference between mounted and created in vue

青灯夜游
青灯夜游Original
2022-12-28 18:59:2610164browse

Difference: 1. created is called before the template is rendered into html, that is, certain attribute values ​​are usually initialized and then rendered into a view; mounted is called after the template is rendered into html, usually after the initialization page is completed, and then Perform some required operations on the dom node of html. 2. Some initial configuration of the chart cannot be performed in created. You must wait until the html is rendered before proceeding; however, mounted can.

What is the difference between mounted and created in vue

The operating environment of this tutorial: windows7 system, vue3 version, DELL G3 computer.

1. What is life cycle?

In popular language, it is a series of processes that instances or components in Vue go through from creation to destruction. Although it is not rigorous, it is basically understandable.

Through a series of practices, now I have sorted out all the problems encountered, and today I will record the difference between created and mounted:

2. What is the difference between created and mounted?

The official illustration is as follows:

What is the difference between mounted and created in vue

##We look at two nodes from the picture:
created: called before the template is rendered into html, that is, certain attribute values ​​are usually initialized and then rendered into a view.
mounted: Called after the template is rendered into HTML, usually after the initialization page is completed, and then some required operations are performed on the DOM node of the HTML.
In fact, the two are easier to understand. Created is usually used more often, while mounted is usually operated during the use of some plug-ins or components, such as the use of the plug-in chart.js. : var ctx = document.getElementById(ID); Usually there is this step, and if you write it into the component, you will find that you cannot perform some initial configuration of the chart in created. You must wait for this html It can only be done after rendering, so mounted is the best choice. Let’s look at an example (using components).

3. Example

Vue.component("demo1",{
        data:function(){
            return {
                name:"",
                age:"",
                city:""
            }
        },
        template:"
  • {{name}}
  • {{age}}
  • {{city}}
",         created:function(){             this.name="唐浩益"             this.age = "12"             this.city ="杭州"             var x = document.getElementById("name")//第一个命令台错误             console.log(x.innerHTML);         },         mounted:function(){             var x = document.getElementById("name")//第二个命令台输出的结果             console.log(x.innerHTML);         }     });     var vm = new Vue({         el:"#example1"     })
You can see the output as follows:

#You can see that they are successfully rendered when created is assigned an initial value.
But at the same time, look at the console as follows:

Okay I saw the first error reported. It was actually because the id could not be found. getElementById(ID) did not find the element. The reasons are as follows:

When created, the html in the view It has not been rendered, so if you directly operate the dom node of the html at this time, you will definitely not find the relevant elements

. In mounted, since the html has been rendered at this time, Therefore, the dom node can be directly operated, so the result "Tang Haoyi" is output.

The above is my own summary of the difference between mounted and mounted. The writing is relatively simple. I will record it to deepen my impression.

[Related recommendations:

vuejs video tutorial, web front-end development]

The above is the detailed content of What is the difference between mounted and created in vue. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Does vue support ie6?Next article:Does vue support ie6?