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-cli 使用axios的操作方法及整合axios的多种方法
这篇文章主要介绍了vue-cli 使用axios的操作方法及整合axios的多种方法,vue-cli整合axios的多种方法,小编一一给大家列出来了,大家根据自身需要选择,需要的朋友可以参考下2018-09-09
Vue全局自适应大小:使用postcss-pxtorem方式
本文介绍了如何在Vue项目中使用postcss-pxtorem插件实现响应式设计,postcss-pxtorem可以自动将CSS文件中的px单位转换为rem单位,从而实现更好的自适应布局,通过配置postcss-pxtorem插件,可以在构建时自动完成转换,无需手动修改代码2025-01-01
详解vuex结合localstorage动态监听storage的变化
这篇文章主要介绍了详解vuex结合localstorage动态监听storage的变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-05-05
前端低代码form-generator实现及新增自定义组件详解
这篇文章主要给大家介绍了关于前端低代码form-generator实现及新增自定义组件的相关资料,form-generator是一个开源的表单生成器,可以帮助我们快速构建各种表单页面,需要的朋友可以参考下2023-11-11


最新评论