2022/8/30 了解props内default默认,type类型,required必填证实是否绑定了init ,组件的三个阶段,组件之间的共享(父子,字父)

本文主要是介绍2022/8/30 了解props内default默认,type类型,required必填证实是否绑定了init ,组件的三个阶段,组件之间的共享(父子,字父),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

props是只读数据。声明了自定义属性props的init转存在data的count内即可

 

<template><div><h5>count组件</h5><p>count是:{{count}}</p><button @click="count++">增加 </button></div>
</template><script>
export default {props : ['init'],data(){return {count: this.init} },}
</script><style lang='less'></style>

给init设置一个默认值(在外界没动态绑定:init时用),

type设置默认值的类型(常见类型都可以)

required:true 来确定其他界面是否绑定了init

props : {init : {default : 0,type : Number,required : true}
},

在写组件的时候style可能会出现出现样式重叠的问题,解决用scoped,原理就是在每个渲染标签声明了 data-001 类似的属性

<style lang="less" scoped>

父组件使用子组件更改样式在style内填写(在三方组件如果需要修改三方样式用/deep/)

 /deep/ h5 {color: pink;}

组件的三个周期

组件创建阶段 

下面这个在methods内可以调用ajax数据 (常用|声明周期函数

mounted内执行DOM元素

组件运行阶段  

updata是数据进行改变的时候执行,如果没有改变则不执行 

组件销毁阶段

beforedestroy 详细没太介绍因为用处不大 

组件之间数据共享

 父向子共享属性用自定义属性props即可

案列: 父

<template><div class="app-container"><h1>App 根组件</h1><hr /><div class="box"><!-- 渲染 Left 组件和 Right 组件 --><Left :msg="message" :user="userinfo"></Left></div></div>
</template><script>
import Left from '@/components/Left.vue'
export default {components: { Left },
data () {return {message:'hello world',userinfo: {name:'wsc',age:18}}
}
}
</script><style lang="less">
.app-container {padding: 1px 20px 20px;background-color: #efefef;
}
.box {display: flex;
}
</style>

<template><div class="left-container"><h3>Left 组件</h3><p>msg是:{{msg}}</p><p>user是:{{user}}</p></div>
</template><script>
export default {props :['msg','user']
}
</script><style lang="less">
.left-container {padding: 0 20px 20px;background-color: orange;min-height: 250px;flex: 1;
}
</style>

子向父传输 

需要使用自定义事件 

<template><div class="app-container"><h1>App 根组件 --- {{countFromSon}}</h1><hr /><div class="box"><!-- 渲染 Left 组件和 Right 组件 --><Right @numchange="getNeWCount">X</Right></div></div>
</template><script>
import Right from './components/Right.vue'
export default {data () {return {countFromSon : 0}},components : {Right},methods : {//获取子组件传递过来的数据getNeWCount(val) {this.countFromSon = val}}}
</script><style lang="less">
.app-container {padding: 1px 20px 20px;background-color: #efefef;
}
.box {display: flex;
}
</style>

<template><div class="right-container"><h3>Right 组件 -- {{count}}</h3><button @click="add">点击</button></div>
</template><script>
export default {data() {return {count : 0}},methods: {add () {this.count++this.$emit('numchange',this.count)}}
}
</script><style lang="less">
.right-container {padding: 0 20px 20px;background-color: lightskyblue;min-height: 250px;flex: 1;
}
</style>

 

这篇关于2022/8/30 了解props内default默认,type类型,required必填证实是否绑定了init ,组件的三个阶段,组件之间的共享(父子,字父)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/325217

相关文章

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Python如何在Word中生成多种不同类型的图表

《Python如何在Word中生成多种不同类型的图表》Word文档中插入图表不仅能直观呈现数据,还能提升文档的可读性和专业性,本文将介绍如何使用Python在Word文档中创建和自定义各种图表,需要的... 目录在Word中创建柱形图在Word中创建条形图在Word中创建折线图在Word中创建饼图在Word

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)

《Vue项目的甘特图组件之dhtmlx-gantt使用教程和实现效果展示(推荐)》文章介绍了如何使用dhtmlx-gantt组件来实现公司的甘特图需求,并提供了一个简单的Vue组件示例,文章还分享了一... 目录一、首先 npm 安装插件二、创建一个vue组件三、业务页面内 引用自定义组件:四、dhtmlx

Vue ElementUI中Upload组件批量上传的实现代码

《VueElementUI中Upload组件批量上传的实现代码》ElementUI中Upload组件批量上传通过获取upload组件的DOM、文件、上传地址和数据,封装uploadFiles方法,使... ElementUI中Upload组件如何批量上传首先就是upload组件 <el-upl

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

Rust中的BoxT之堆上的数据与递归类型详解

《Rust中的BoxT之堆上的数据与递归类型详解》本文介绍了Rust中的BoxT类型,包括其在堆与栈之间的内存分配,性能优势,以及如何利用BoxT来实现递归类型和处理大小未知类型,通过BoxT,Rus... 目录1. Box<T> 的基础知识1.1 堆与栈的分工1.2 性能优势2.1 递归类型的问题2.2

Vue3中的动态组件详解

《Vue3中的动态组件详解》本文介绍了Vue3中的动态组件,通过`component:is=动态组件名或组件对象/component`来实现根据条件动态渲染不同的组件,此外,还提到了使用`markRa... 目录vue3动态组件动态组件的基本使用第一种写法第二种写法性能优化解决方法总结Vue3动态组件动态

shell脚本自动删除30天以前的文件(最新推荐)

《shell脚本自动删除30天以前的文件(最新推荐)》该文章介绍了如何使用Shell脚本自动删除指定目录下30天以前的文件,并通过crontab设置定时任务,此外,还提供了如何使用Shell脚本删除E... 目录shell脚本自动删除30天以前的文件linux按照日期定时删除elasticsearch索引s

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作