created钩子函数
created是Vue组件生命周期中的一个阶段,在组件实例被创建之后被调用。在created阶段,Vue实例已经完成了数据的观察(data observer)和事件的初始化(event initialization),但尚未挂载到DOM中。
主要特点和使用场景:
- 在created钩子函数中,可以执行一些初始化的操作,如数据的获取、事件的订阅或非DOM相关的计算等。
- 由于DOM尚未挂载,因此在created阶段无法访问到组件的DOM元素和其它组件实例。
- created常用于执行异步操作,如通过Ajax请求获取数据,并在数据到达后更新组件的状态。
js
export default {
components: {
},
data () {
return {
}
},
created() {
// 执行一些初始化操作
this.fetchData()
},
methods: {
fetchData() {
// 异步获取数据
axios.get('/api/data')
.then(response => {
// 更新组件状态
this.data = response.data
})
.catch(error => {
console.error(error)
});
}
}
}
export default {
components: {
},
data () {
return {
}
},
created() {
// 执行一些初始化操作
this.fetchData()
},
methods: {
fetchData() {
// 异步获取数据
axios.get('/api/data')
.then(response => {
// 更新组件状态
this.data = response.data
})
.catch(error => {
console.error(error)
});
}
}
}
mounted钩子函数
mounted是Vue组件生命周期中的另一个阶段,在组件被挂载到DOM后被调用。在mounted阶段,Vue实例已经完成了模板的编译和DOM的渲染,并且可以访问到组件的DOM元素。
主要特点和使用场景:
- 在mounted钩子函数中,可以执行与DOM相关的操作,如DOM元素的获取、事件的绑定、第三方库的初始化等。
- 可以访问到组件的DOM元素和其它组件实例,可以对DOM进行操作,如添加样式、绑定事件等。
- mounted常用于需要在组件挂载后进行DOM操作的情况。
js
export default {
components: {
},
data () {
return {
}
},
mounted() {
// 获取DOM元素
const element = this.$refs.myElement
// 添加事件监听
element.addEventListener('click', this.handleClick)
},
methods: {
handleClick(event) {
// 处理点击事件
console.log('Clicked!', event)
}
}
}
export default {
components: {
},
data () {
return {
}
},
mounted() {
// 获取DOM元素
const element = this.$refs.myElement
// 添加事件监听
element.addEventListener('click', this.handleClick)
},
methods: {
handleClick(event) {
// 处理点击事件
console.log('Clicked!', event)
}
}
}