Vue父子组件之间的通讯(学习笔记)
2024-08-26 01:03:31
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<cheng :k="h1s" @ch="ch"></cheng>
</div>
</body>
<script src="vue.js"></script>
<script>
/*
说明:在子组件里面通过prpos接收到父组件传的值是不能改变的,不过可以自己定义一个变量来赋值改变,如果想要改变数据源的话必须通过$emit来进行事件发布
1、父组件给子组件传值:
props传递参数
父组件 -> 子组件传参
在使用子组件标签的时候,写在行间
:key="数据"
key值是子组件规定
本案例:
父组件定义h1s的数据 通过:k 传递给子组件
子组件通过props来接收,required:true是定义的规则,也可以使用数组来接收,这样就不会有任何规则 2、子组件给父组件通讯
父组件关心子组件某个状态的改变、事件的发生
组件 -> 父组件
子组件中发布一个事件,
this.$emit()
本案例:
子组件定义一个事件,通过this.$emit('ch',"我改变了标题")来定义和父组件的通讯关系。
父组件接收子组件传过来的事件ch 然后@ch='父组件自定义函数'
this.$emit('ch',"我改变了标题")里面的ch是定义好给父组件传递的事件,'我改变了标题'是传递的参数
*/ new Vue({
el:"#app",
data:{
h1s:'我是一个标题',
arr:[
{
title:"新闻",
list:['新闻1','新闻2']
},
{
title:"体育",
list:['体育1','体育2']
},
]
},
methods:{
ch(value){
console.log("子组件发布事件,父组件接收了",value)
this.h1s = value
}
},
components:{
"cheng":{
props:{
k:{
type:String,
required:true
}
},
data(){
return {
a:""
}
},
template:`
<div>
<h1>{{k}}</h1>
<button @click="changes">按钮</button>
</div>
`,
methods:{
changes(){
console.log("子组件事件")
this.$emit('ch',"我改变了标题")
}
}
}
}
})
</script>
</html>
最新文章
- python 查找指定内容的txt文件
- poj 1195 - Mobile phones(树状数组)
- c++中级 STL基础学习(二)
- bzoj 1791: [Ioi2008]Island 岛屿
- Python的类实例方法,类方法,类静态方法
- Android应用开发多语言drawable目录
- 对象创建型模式------Abstract Factory(抽象工厂)
- 读书笔记-《基于Oracle的SQL优化》-第一章-3
- Android百度地图默认位置中心点设置
- Linux分区方案
- maven copy 依赖jar包
- CentOS5.6下安装Oracle10G软件 【保留报错经验】
- SqlServer varchar数据中类似于1.1.1.1这种值的排序方法
- 针对Eclipse的maven Missing artifact com.microsoft.sqlserver:slqjdbc4:jar:4.0
- Mysql5.7在CentOs环境下定时备份数据库
- Linux内核参数调优
- C++实验三
- Undefined、Null区别渗透
- 全参考视频质量评价方法(PSNR,SSIM)以及与MOS转换模型
- H5 唤起 APP的解决方案
热门文章
- 提高生产力:SpringMVC中,使用扩展数据类型TypedMap接收Web请求参数
- android onContextItemSelected和onMenuItemSelected厉害关系
- 参数化取值策略Unique
- POJ 3228 Gold Transportation
- 洛谷 1775. [国家集训队2010]小Z的袜子
- Apache负载均衡与Tomcat集群配置学习(Windows环境)
- failed to sync branch You might need to open a shell and debug the state of this repo.
- 【简单的案例分享,停机10分钟】10204升级CRS&;amp;DB的PSU至102044
- https 证书 certbot-auto执行错误
- Gretna2.0 使用过程中遇到的问题