程序员们仍在为 Vue.js 中的创建和挂载钩子苦苦挣扎,并试图找出这两者之间的区别。
让我们一起弄清楚,看看哪种方法适用于本教程中涵盖的实际情况。
对于 created() 钩子,在选项处理完成后,我们已经可以访问反应数据属性并在必要时进行更改。
在流程的这个阶段,DOM 还没有被挂载或者添加;因此,我们不能进行任何操作。
created() 钩子用于从后端 API 获取数据并将其设置为数据属性。
但是在 SSR 中,挂载的钩子不存在,并且只需要执行诸如在创建的钩子中获取数据之类的任务。
mount() 钩子在 DOM 被挂载或者呈现后被调用,这使我们能够访问 DOM 元素并可以执行 DOM 操作。
安装挂钩通常是最常用的。
挂载钩子的最佳用例是,如果我们需要在初始渲染之前或者之后立即访问或者更改组件的 DOM。
要从外部 API 获取要呈现的任何初始所需数据并将其分配给任何反应数据属性,我们可以像这样选择 created 钩子:
data:{ myJson : null, errors: null }, created(){ //pseudo code database.get().then((res) => { this.myJson = res.data; }).catch((err) => { this.errors = err; }); }
创建并安装
以下是 Vue.js 文档建议的这两个钩子的定义。
在创建实例后同步调用 created 钩子。
在这个阶段,实例已经完成了对选项的处理,这意味着已经设置了以下内容:数据观察、计算属性、方法、观察/事件回调。
但是,挂载阶段尚未开始,$el 属性尚不可用。
挂载实例后调用挂载钩子,其中 el 被新创建的 vm.$el 替换。
如果根实例挂载到文档内元素,则调用 mount 时 vm.$el 也将在文档内。
日期:2020-06-02 22:17:37 来源:oir作者:oir