我已经学习了Vue.js的生命周期挂钩,但是没有发现使用created()函数的任何实际情况?
我知道created()函数可以访问响应数据和事件,但是不能访问DOM元素。但是实际上我不知道如何使用它。请有人帮我提供使用Created()函数的实际方案。 预先感谢。
答案 0 :(得分:2)
很多人在Vue中使用Global Event Bus模式:
https://alligator.io/vuejs/global-event-bus/
设置事件侦听器的页面示例包含以下示例:
EventBus.$on('i-got-clicked', clickCount => {
console.log(`Oh, that's nice. It's gotten ${clickCount} clicks! :)`)
});
这是您可以在DOM模板为此特定组件完成渲染之前设置的事件。如果您等待DOM模板在此处完成,则可能会错过点击。您只是想尽快执行此操作。
就像组件触发AJAX请求一样,您不必总是等待DOM完成呈现组件。很多时候,您可以立即触发请求。那么,您为什么不希望节省一些时间并立即启动AJAX请求呢?
mounted
挂钩中不需要DOM的所有内容都可以移入created
挂钩,以便在Vue生命周期中尽早执行。
答案 1 :(得分:0)
在vue网站上查看this page
根据图表:
创建的方法将在制作组件模板之前被调用。因此您无法访问模板,但可以更改模板中应使用的值。例如,您可以将json props转换为对象或更改组件静态数据并... “创建”与“挂载”的唯一区别在于,您可以在制作模板之前执行性能
,但请记住不要在创建的方法中更改反应数据。因为每次这些数据更改创建的方法都不会再次调用。
现在,您使用的是哪个,或者您需要的取决于您自己
答案 2 :(得分:0)
created()方法可能是进行不依赖DOM的其他数据初始化的好地方。实际上,我经常这样做。