10.4 Vue 父子传值
简单示例
APP.vue
<template>
<div>
<img :src="imgSrc">
<!-- 父子传值 --> <!-- 自定义属性直接 通过属性传值 -->
<Vheader :cityArray="citys"></Vheader> <!-- 自定义事件 -->
<Vfooter v-on:addZhuangHandler="addHandler"></Vfooter>
</div> </template> <script>
import imgSrc from './assets/bili.jpg'
import Vheader from './components/Vheader'
import Vfooter from './components/Vfooter' export default {
name: "app",
data() {
return {
imgSrc: imgSrc,
citys:["山东","北京","深圳"] }
},
methods:{
addHandler (str){
// alert(str)
this.citys.push(str);
alert(this.citys);
}
},
components: {
Vheader,
Vfooter
}, } </script> <style scoped> </style>
Vfooter.vue
<template>
<footer class="wrap">
我是Vfooter,我想测试下给父级组件添加数据: <br>
<button @click="addCunHandler">给父级组件的数据增加点什么,添加一个村庄</button>
</footer>
</template> <script>
export default {
name: "Vfooter",
data() {
return {}
},
methods:{
addCunHandler(){
// 触发自定义事件
this.$emit('addZhuangHandler','破村庄');
},
}, }
</script> <style scoped> </style>
Vheader.vue
<template>
<header class="wrap"> 我是header,我从父级组件那里拿到了数据很开心:
<ul v-for="item in cityArray">
{{item}}
</ul>
</header>
</template> <script>
export default {
name: "Vheader",
data() {
return {}
},
methods: {},
props: {
cityArray: Array
// 如果验证不通过会报错
// [Vue warn]: Invalid prop: type check failed for prop "cityArray". Expected String with value "山东,北京,深圳", got Array
},
}
</script> <style scoped> </style>
实例详解
app-----> header
父组件向子组件传值
<!-- 自定义属性直接 通过属性传值 -->
<Vheader :cityArray="citys"></Vheader>
子组件从 父组件拿值
拿值的时候必须要校验类型,
拿值的时候的要对应父组件的自定义属性一致才可以拿到
props: {
cityArray: Array
]
如果有错误是拿不到的
如果写错类型也会报错。
// 如果验证不通过会报错
// [Vue warn]: Invalid prop: type check failed for prop "cityArray". Expected String with value "山东,北京,深圳", got Arra
footer------->app
子组件向父组件传值
在methods 中加入事件触发传值操作
利用 $emit() 方法传值
$emit("自定义属性的名字","要被传入的数据")
methods:{
addCunHandler(){
// 触发自定义事件
this.$emit('addZhuangHandler','破村庄');
},
},
父组件得到子组件传递值
父组件中首先要对子组件中那提供一个自定义的属性
<!-- 自定义事件 -->
<Vfooter v-on:addZhuangHandler="addHandler"></Vfooter>
对这一属性绑定一个事件,接受的数据将会作为参数被此事件调用
methods:{
addHandler (str){
this.citys.push(str);
alert(this.citys);
}
},
总结
- 自定义属性传值
- 校验后取值
- $emit("自定义属性的名字","要被传入的数据")
10.4 Vue 父子传值的更多相关文章
- Vue父子传值
昨天创建完项目以后,今日首先使用项目来做一个简单的导航栏体会一下Vue的使用 1.项目的结构: 2.首先在Vheader.Vue中编辑代码: <template> <header c ...
- day 100天 VUE 父子传值,单页面.
一 .静态资源导入方法 启动服务 npm run serve <template> <div id ="app"> <h3>{{msg}}& ...
- vue父子传值的具体应用
最近我负责的项目已经迭代到第四版了,我作为一个没啥经验的小菜鸟也成长了很多. 在这一版开发开始之前,我老大就要求我在开发过程中尽量实现组件化,因此,我也遇到了很多问题,但基本都解决了,所以趁周末把这些 ...
- vue父子传值与非父子传值
大概梳理下传值的几种方式 一:父子组件传值 props方式 子组件对外暴露方法并向父组件传递由于触发方法导致的值的变化,父组件接收子组件传递来的值:子组件接收父组件传递来的值,并根据传递来的值在子组件 ...
- vue 父子传值,子页面没有实时刷新的问题
在做高德地图的时候,发现列表点击编辑的时候,地图不能实时更新: <el-form-item label="门店坐标:" :label-width="formLabe ...
- vue——父子传值
转载地址:https://blog.csdn.net/xr510002594/article/details/83304141
- vue父子(父传子)传值
vue2.0中,实现父子组件间的传值,需要依靠一个props的属性,作为变量接收的对象. 注:vue.js文件引用的是本地的js文件,拷贝本机运行时,可以使用cnd替换. https://www.bo ...
- Blazor和Vue对比学习(基础1.3):属性和父子传值
组件除了要解决视图层展示.视图层与逻辑层的数据绑定,还需要解决一个重大问题,就是在组件树中实现数据传递,包括了父到子.子到父.祖到孙,以及任意组织之间.而我们上一章讲到的实现双向绑定的两个指令,Vue ...
- vue父子组件之间传值
vue父子组件进行传值 vue中的父子组件,什么是父组件什么是子组件呢?就跟html标签一样,谁包裹着谁谁就是父组件,被包裹的元素就是子组件. 父组件向子组件传值 下面用的script引入的方式,那种 ...
随机推荐
- 如何解决angular不自动生成spec.ts文件
"schematics":{ "@schematics/angular:component": { "styleext": ...
- #WEB安全基础 : HTML/CSS | 文章索引
本系列讲解WEB安全所需要的HTML和CSS #WEB安全基础 : HTML/CSS | 0x0 我的第一个网页 #WEB安全基础 : HTML/CSS | 0x1初识CSS #WEB安全基础 : H ...
- zabbix server3.4 使用mailx配置邮件报警
软件具体配置如下: 操作系统:Centos7.5 zabbix server版本:zabbix server3.4 zabbix agent版本:zabbix agent3.0 现在开始配置zabbi ...
- Tips on GORM, Avoid Error about "duplicate column name: id"
The GORM is an super easy ORM solution for Go language. But many people would get the error about du ...
- CentOS.7下安装配置FTP和SFTP服务
一: FTP Centos7中默认已经安装了sshd服务(sftp), vsftpd需要手动安装 1.安装并启动FTP服务 1.1 安装vsftpd 使用 yum 安装 vsftpd yum inst ...
- sql判断字段是否为空
sql语句条件查询时,有时会判断某个字段是否为空. 字段内容为空有两种情况 1.为null 2.为字符串的空'' 语句如下: select * from table where column is n ...
- 1.2 NCE22 By heart
Some plays are so successful that they run/are performed/ for years on end/successively/in a row/con ...
- Maven的简单使用
Maven使用 在官网下载maven: http://maven.apache.org/download.cgi 解压到D盘(位置随便) 配置环境变量 打开dos窗口,检测是否成功,出现如下画面表示配 ...
- 【English】20190321
Keep in mind记住[kip ɪn maɪnd] maintenance维护[ˈmentənəns] Also Keep in mind that table maintenance use ...
- ESP8266产品ID
ESP.getChipId() https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/Chip ...