vue.js - 如何按特定顺序加载 vuejs 组件?
问题描述
我有一个包含两个子组件的父组件。两个子组件之一将通过 axios 调用将数据存储在数据库中。第二个子组件将需要查询数据库以获取这些数据。
如何确保在第一个插入数据之前第二个不会“启动”?
我应该使用自定义事件吗?
解决方案
我会使用v-if
条件渲染async/await
,例如:
<first-component />
<second-component v-if="didFirstComponentFinish" />
data() {
return {
didFirstComponentFinishAjax: false
}
}, ...
async methods: { //or where you make your AJAX call
await yourAjaxCall
this.didFirstComponentFinishAjax = true //after the call is finished the component will show
// your AJAX logic
}
当然,通过 props、vuex 或您拥有的任何逻辑传递您的 AJAX 数据。
推荐阅读
- reactjs - 如何在 React Typescript 中使用带有 @reach/router 的 react-pose?
- python - How to handle a KeyError when working with a list inside a list
- javascript - 查看 2 次是否与 moment.JS 重叠
- c# - 多线程 - 了解内存屏障和易失性
- python - 如何在lxml中实现自定义子元素的方法?
- vb.net - 向库存管理系统 (vb.net) 添加新模块或功能
- wampserver - WAMPServer 3.1.4 - 连接同一子网上的计算机时出现问题
- javascript - 如何访问 Javascript 数组中的元素(div ClassNames)并更改它们的不透明度?
- javascript - 基于字符比较字符串
- mysql - Laravel:从数据库检索后将用户存储在存储库中以减少 MySQL 查询