vue项目的加载顺序

vue项目的入口:main.js

vue项目唯一的页面:index.html

vue的特点:就是将所有的vue页面(实质上是所有的js代码),全部整合到app.vue(app.js)中合成一个template放入index.html中的页面里面

vue的加载顺序:先加载组件,然后是加载app.vue(由内往外加载),所以很多小伙伴(其实是我)把一切请求放到app.vue的mounted中使用,再从组件中调用其实就大错特错了,实际上你会发现组件中的mouted方法会先执行,你要获取的变量其实未定义

但是很多时候很多组件都需要这个请求的变量,但是你又不可能每个组件里面去请求一遍,还是只能放在app.vue里面,这时候就要进行判断,当有参数是才能加载组件(路由里面加载meta),这时候就是先加载app.vue然后是子组件

很多时候父子组件(先加载子组件再是父组件),所以看情况添加v-if则是解决问题的小关键

### Vue 3 项目启动与生命周期执行顺序详解 在 Vue 3 中,项目的初始化和运行时涉及多个阶段的执行过程。这些阶段由组件的生命周期钩子定义并控制。以下是关于 Vue 3 启动过程中各部分的初始化和运行时执行顺序的具体说明。 #### 初始化阶段 当 Vue 应用程序被挂载到 DOM 上时,`setup()` 函数作为新的入口点,在 `beforeCreate` 和 `created` 钩子之前被执行[^1]。此函数允许开发者提前配置响应式数据、方法和其他逻辑,从而简化了传统选项式的复杂度。 #### 运行时执行顺序 一旦应用进入运行状态,其生命周期按照特定次序展开: 1. **父级组件先于子级组件触发** 父组件会依次调用自身的生命周期钩子直到准备渲染子组件为止。具体来说,父组件经历如下流程: - `beforeCreate`: 此时实例刚创建完成,尚未处理任何属性绑定或事件监听器设置。 - `created`: 实例已完成数据观测 (data observer),计算属性已生效,但还未开始编译模板或者挂载节点。 2. **子级组件随后触发** 当父组件到达 `beforeMount` 阶段时,它将尝试加载嵌套在其内部结构中的子组件。此时子组件按需重复上述相同的过程: - 子组件同样遵循自己的 `beforeCreate -> created` 流程; - 接着继续向下传递直至最深层叶子节点全部构建完毕; 3. **挂载完成后回调机制** 所有后代都成功安装好之后,最终回到顶层根部通知整个树形已经就绪: - 对应的是每个层次上的 `mounted` 方法逐一激活——从最低层逐级向上反馈给上级知道整体视图呈现结束。 4. **更新期间的行为模式** 如果检测到模型发生变化,则重新评估依赖关系进而引发局部重绘操作。在此期间可能还会遇到额外的状态转换如: - 更新前捕获 (`beforeUpdate`) 及实际改变后确认(`updated`); 5. **销毁清理工作流** 当某个组件不再需要保留时可以安全卸下释放资源避免内存泄漏等问题存在。这一环节包括但不限于以下几个重要时刻点: - 即将摧毁前置动作(`beforeDestroy`); - 彻底移除关联对象及其引用关系(`destroyed`); ```javascript // 示例代码展示如何观察生命周期行为 export default { setup() { console.log('Setup phase'); return {}; }, beforeCreate(){ console.log('Before Create Hook'); }, created(){ console.log('Created Hook'); } } ``` 以上即为标准情况下 vue3 构建应用程序所经历的主要步骤概述[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值