一、开篇:当你学Vue时,其实在体验一场“数字人生”
兄弟们,姐妹们,敲黑板!今天咱们来聊点Vue.js里那些让你又爱又恨的“人生节点”——生命周期钩子函数。别看这名字听起来像某种神秘宗教仪式,其实它就跟你开一家网红咖啡店的流程一模一样!
想象一下:你立志要当这条gai最靓的咖啡店老板。首先得租场地、买咖啡豆、雇员工(这是created阶段);等一切准备就绪,挂上招牌、打开店门迎客,这才算正式营业(这是mounted阶段)。要是你还没挂招牌就急着让客人点单(在created里操作DOM),客人只会对你翻白眼:“菜单在哪儿??”
没错,Vue组件的生命周期就是组件的“一生”。而created和mounted,堪称Vue世界里的两大“叛逆青春期”——一个负责“内心戏”,一个专注“表面功夫”。下面咱们就用解剖麻雀的精神,把这两位扒得底裤都不剩!
二、created钩子:你的数据“隐形保镖”
1. 本质揭秘:幕后大佬的自我修养
created就像是咖啡店的“后台筹备期”。这时候,你的数据(比如咖啡豆库存、员工名单)已经全部到位,但页面DOM元素还活在二次元——你根本碰不到它们!如果你在这里尝试用document.getElementById找元素,只会得到一个大写的null。
关键特性:
- ✅ 数据观测已完成(data已初始化)
- ✅ 计算属性、方法已就绪
- ✅ 可发起API请求预加载数据
- ❌ DOM未生成,无法操作节点
2. 实战场景:抢先机的数据加载
比如你有个用户列表页面,在组件刚创建时就要从服务器拉取数据。在created里发起请求,能最大程度减少用户等待时间:
export default {
data() {
return {
users: [], // 空数组准备接数据
loading: true
}
},
created() {
console.log('created:数据已初始化,但DOM是空气');
this.fetchUsers(); // 立刻发起请求!
},
met

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



