Vue.js文档描述了created
和mounted
事件,如下所示:
created
创建实例后同步调用。在这 阶段,实例已完成处理选项的意思 以下内容已经建立:数据观察,计算属性, 方法,观察/事件回调。但是,安装阶段没有 已经开始了,$ el属性还没有。
mounted
在实例刚安装好el替换后调用 由新创建的vm。$ el。如果根实例已挂载到 文档元素,vm。$ el在安装时也将在文档中 调用。
在服务器端呈现期间不会调用此挂接。
我理解这个理论,但我对练习有 2个问题:
created
用于mounted
?created
事件(实际代码)
情况?答案 0 :(得分:144)
created()
:由于选项的处理已完成,您可以访问被动data
属性,并根据需要进行更改。在这个阶段,尚未安装或添加DOM。所以你不能在这里做任何DOM操作
mounted()
:在装载或渲染DOM后调用。在这里您可以访问DOM元素并可以执行DOM操作,例如获取innerHTML:
console.log(element.innerHTML)
所以你的问题:
Is there any case where created would be used over mounted?
Created通常用于从后端API获取数据并将其设置为数据属性,如 wostex 所述。但是在SSR mounted()
挂钩不存在的情况下,您需要执行诸如仅在创建的挂钩中获取数据的任务
What can I use the created event for, in real-life (real-code) situation?
从外部API获取要呈现的任何初始所需数据(如JSON)并将其分配给任何反应数据属性
data:{
myJson : null,
errors: null
},
created(){
//pseudo code
database.get().then((res) => {
this.myJson = res.data;
}).catch((err) => {
this.errors = err;
});
}