我一般都放在mounted里面,这样会不会白屏时间过长呢?放在其他什么周期会不会造成二次渲染呢
这是之前面试遇到的问题,我对这方面不太了解
我一般都放在mounted里面,这样会不会白屏时间过长呢?放在其他什么周期会不会造成二次渲染呢
这是之前面试遇到的问题,我对这方面不太了解
看实际情况吧,一般create 和mounted 都可以,区别是create 页面还没渲染如果要操作dom节点的话没法找到dom,我一般在mounted中初始化请求
防止二次渲染可以看下keep-alive。https://cn.vuejs.org/v2/api/#...
放在那里都行吧 就算放在created里,你这个是个异步 有可能mounted了以后才返回数据也有可能之前
个人喜好吧
===============
白屏可以用骨架屏解决,二次渲染的话你是指data中定义的数据渲染了 然后请求回来改变了data的数据又渲染了一遍么..
我的做法是这样:
async created() {
await this.initData() // 数据初始化的接口
},
我觉得这样既不会造成多次渲染,也避免了放在mounted中导致的页面更新不及时
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.2k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
3 回答1k 阅读
3 回答1.3k 阅读✓ 已解决
综上所述:
created 阔以做简单的请求,但不能操作dom
mounted dom已拿到,如需操作dom阔以在这里发起请求