vue中的data,computed,methods,created,mounted用法及说明
vue中的data,computed,methods,created,mounted
介绍一下vue的基本结构中各分类的含义以及他们的执行顺序
含义及执行顺序
1.首先created是最先执行的,它是一个生命周期,也叫钩子函数,用于页面还没加载完毕时发送请求,初始化data里的值。
2.data一般用来存放vue中的变量,通过return将数据返回到created中
3.methods用来写相关模块的函数以及功能的实现,格式为async+方法名,通常通过发送请求请求到后台数据
4.computed是界于created和mounted之间发生的,此时正是页面进行渲染的时候
5.mounted是加载完dom操作后才会触发,它和created一样只会执行一次,此时页面已经渲染完成,通常用于存放需要渲染的内容
下面通过代码段来简单描述
export default{ data(){ datas:[], //这里的data是一个空数组用来存放从后端获取到的数据 } methods:{ async getDatas(){ let res = await get("/index/carousel/findAll");//发送请求 this.datas = res.data;//将请求到的数据返回到空数组里 } } created(){ this.getDatas()//生命周期 还没加载时发送请求 } }
不一定要每个都用到,根据自身需求而应用
vue2页面和mixins中相同的data created mounted computed watch methods优先级
data
页面中定义的 data 会覆盖 mixins 中同名的 data
created、mounted
先执行 mixins 中生命周期函数,再执行页面中的生命周期函数。
watch
先执行 mixins 中的 watch 监听,再执行页面中同名的 watch 监听。
computed
页面中定义的 computed 属性会覆盖 mixins 中同名的 computed 属性。
methods
页面中定义的 methods 覆盖mixins中同名的 methods 。
演示代码如下
页面 html 代码
<template> <div> <el-input v-model="value"></el-input> <el-button type="primary" @click="onSubmit">submit</el-button> <div>{{ text }}</div> </div> </template>
页面 js 代码
export default { components: { DetailsTab, DataTab, }, mixins: [testMixin], data() { return { pageData: 'this is page data', commonData: 'this is common data in page', value: '', } }, watch:{ value() { console.log('page watch value'); }, }, computed: { text() { const text = `The input value is ${this.value}, this text is from page computed`; console.log(text); return text; }, }, created() { console.log('page created'); }, mounted() { console.log('page mounted'); console.log(this.pageData); console.log(this.commonData); console.log(this.mixinsData); }, methods: { onSubmit() { console.log('page methods'); }, }, }
mixins 代码
export default { data() { return { mixinsData: 'this is mixins data', commonData: 'this is common data in mixins', } }, watch:{ value() { console.log('mixins watch value'); }, }, computed: { text() { const text = `The input value is ${this.value}, this text is from mixins computed`; console.log(text); return text; }, }, created() { console.log('mixins created'); }, mounted() { console.log('mixins mounted'); }, methods: { onSubmit() { console.log('mixins methods'); }, }, }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue项目配置、切换主题颜色详细教程(mixin+scss方式,简单高效)
这篇文章主要给大家介绍了关于Vue项目配置、切换主题颜色(mixin+scss方式)的相关资料,根据预设的配色方案,在前端实现动态切换系统主题颜色,文中通过代码示例介绍的非常详细,需要的朋友可以参考下2023-11-11vue中计算属性computed和普通属性method的区别小结
Vue.js中Computed和Methods是两种常用的数据处理方式,本文主要介绍了vue中计算属性computed和普通属性method的区别小结,具有一定的参考价值,感兴趣的可以了解一下2024-06-06
最新评论