【发布时间】:2018-01-30 11:41:18
【问题描述】:
Vue.js 文档对created 和mounted 事件的描述如下:
created
在创建实例后同步调用。在这 阶段,实例已完成处理选项,这意味着 已设置以下内容:数据观察、计算属性、 方法,监视/事件回调。但是,安装阶段还没有 已启动,$el 属性将不可用。
mounted
在实例刚刚挂载到 el 被替换后调用 由新创建的 vm.$el.如果根实例挂载到 in-document 元素,vm.$el 在挂载时也将在文档内 调用。
在服务器端渲染期间不会调用此钩子。
我理解理论,但我有 2 个问题关于实践:
- 在任何情况下
created会被mounted使用吗? - 在现实生活中我可以使用
created事件做什么(真实代码) 情况?
【问题讨论】:
-
created被更早地调用,因此例如触发从 API 后端获取数据是有意义的。 -
可以确认,Fullstack Vue 书中的例子都是使用
created()来调度api调用的动作。 -
@EgorStambakio 如果我不在我的组件中使用 created 而我只使用mounted,在mounted 调用api时几乎不一样?我的意思是创建的钩子将被跳过,因为它不会调用。
-
@LastM4N 您可以在挂载中执行此操作,这是您的选择。但是因为钩子是同步运行的,所以你想在正确的地方做。由于 API 调用与 DOM 无关,因此属于 created 钩子。
-
@wittgenstein 好的,我们同意,尽管 Vue 官方文档使用挂载的钩子 vuejs.org/v2/cookbook/using-axios-to-consume-apis.html
标签: javascript vue.js