Files
front-end-example/07-vue2/07-lifecycle-and-async/starter.js
2026-03-26 21:45:32 +08:00

49 lines
950 B
JavaScript

new Vue({
el: "#app",
data: {
loading: true,
courses: [],
},
created() {
console.log("created: 实例已经创建");
},
mounted() {
// 任务:
// 1. 模拟异步请求
// 2. 1 秒后给 courses 赋值
// 3. loading 改成 false
console.log("1");
const thiz = this
setTimeout(function () {
thiz.courses = [
{ id: 1, title: 'HTML' },
{ id: 2, title: 'CSS' },
{ id: 3, title: 'JS' }
]
thiz.loading = false
}, 1000)
},
updated() {
// 任务:在控制台输出 updated 日志
console.log("更新");
},
beforeDestroy() {
// 任务:在控制台输出 beforeDestroy 日志
console.log("已销毁");
},
destroyed() {
// 任务:在控制台输出 destroyed 日志
console.log("销毁完成");
},
methods: {
destroyInstance() {
// 任务:调用 this.$destroy()
this.$destroy()
},
},
});