vue项目中computed用法讲解(Vue生命周期中created和mounted的区别是什么)
vue项目中computed用法讲解(Vue生命周期中created和mounted的区别是什么)
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作。
其实两者比较好理解,通常created使用的次数多,而mounted通常是在一些插件的使用或者组件的使用中进行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常会有这一步,而如果你写入组件中,你会发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么mounted就是不二之选。
下面看一个例子:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <script src="https://img.aigexing.comhttps://cdn.bootcss.com/vue/2.6.10/vue.js"></script> </head> <body> <div id="wat"> <demo/> </div> <script> Vue.component("demo" { data: function() { return { name: "" age: "" city: "" } } template: `<ul> <li id='name'>{{name}}</li> <li>{{age}}</li> <li>{{city}}</li> </ul>` created: function() { // 钩子中初始化数据 this.name = "吹牛逼大王" this.age = "25" 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: "#wat" }) </script> </body> </html>