龙空技术网

Vue请求初始化数据放在Created还是Mounted?

趣学前端编程 45

前言:

现在各位老铁们对“vue在哪个生命周期请求数据”大致比较讲究,你们都需要知道一些“vue在哪个生命周期请求数据”的相关文章。那么小编也在网上网罗了一些有关“vue在哪个生命周期请求数据””的相关资讯,希望小伙伴们能喜欢,姐妹们一起来了解一下吧!

1,首先我们看下官网对created和mounted这个2个生命周期怎么定义的:

created:

(在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。---官方贴的)

created.png

mounted:(el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。如果 root 实例挂载了一个文档内元素,当 mounted 被调用时 vm.$el 也在文档内。---官方贴的)

mounted.png

2、然后我想问下,Vue的生命周期还有那一些?

是不是有以下生命周期:

.

(这个很多我都没有用过。--(;′⌒`)---);

3、我想问问大家页面请求初始化数据跟Vue的生命周期有什么关系?我的答案是没有很大的关系(个人观点)--如果有疑问可以找我聊聊4、很多人跟我说初始化放在Mounted里面, 我问她(他)们为什么?她(他)们回答说因为这个时候DOM初始化渲染好啦。然后我继续问DOM初始化渲染和请求初始化数据有什么关系?他们会说可以显示请求出来的数据啦。(大家觉得有冲突吗?)--DOM初始化渲染和请求初始化数据并没有什么冲突好吗!5、让我们在看看前面的Vue生命周期a、beforeCreate:(在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。---官方贴的)

beforeCreate.png

b、beforeMount:

(在挂载开始之前被调用:相关的 render 函数首次被调用。---官方贴的)

beforeMount.png

看了这个2个我们继续分析:

我们请求回来的初始化数据或者基础数据是不是需要挂在Vue的Data上面?(是的,需要√)

然后我们继续beforeCreate的时候Data有没有生成?(答案是:没有。×)

--所以这一步是无法把数据挂到Vue的Data上面的

然后我继续看created的时候Data有没有生成?(答案是:生成啦。√)

--所以这一步我们是可以把数据挂到Vue的Data上面的,是不是可以放在这里啦?

--是的,可以放在这里啦。所以最后结论就是放在created里面。(仅发表个人的意愿,如果有不妥的请勿喷)

---补充

有人问我因为请求数据是异步的,为什么不可以放在beforeCreate,等请求完成啦Vue的data不就生成的吗? 答案是可以的。的确是;但是你不能把你需要的初始化数据的请求放在一个Vue的Methods里面, 因为这个时候是无法获取到Methods的函数的。所以你要这样写:

.

所以本人建议放在created里面:

.

个人喜好哟~~~~!!!

我自己是一名从事了5年前端的老程序员,辞职目前在做讲师,今年年初我花了一个月整理了一份最适合2020年学习的web前端干货,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。加我V信:tzhy567就可以跟我一起交流学习啦

标签: #vue在哪个生命周期请求数据