课程中您有提到,“ajax 请求放在 created 生命周期内和放在 mounted 内相比,没有特别好的效果,并且逻辑混乱,除非有特殊需求可以选择放在 created 里”。
我的理解:
1、代码逻辑还好吧
2、取决于 ajax 耗时
1)ajax 请求快,和——获取到数据之后触发 setter 直到 re-render 发生、这个过程的计算耗时相比很小,那么放哪都可以。
2)ajax 请求慢,放在 created 里,可以更早地获取到数据触发 setter,视图的重新渲染也会提前,但因为 created 发生在真实 dom 挂载之前,可能导致首屏等待时长变长(继续扩展一下,还可以讨论下放在 beforeMount 里面的情况)
总结一下:
1、如果要尽快看到视图,那就放到 mounted 里;
2、如果要尽快看到有价值的视图,那就放到 created 里(此时,放到 beforeMount 里效果要差些;这种情况就是您说的特殊需求吗?),与此同时要牺牲到部分首屏时间;
以上,请老师点评哈。
还有, Vue 的策略之 re-render 发生的时机,能否再多讲一些呢…