简单示例

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 父子传值的更多相关文章

  1. Vue父子传值

    昨天创建完项目以后,今日首先使用项目来做一个简单的导航栏体会一下Vue的使用 1.项目的结构: 2.首先在Vheader.Vue中编辑代码: <template> <header c ...

  2. day 100天 VUE 父子传值,单页面.

     一 .静态资源导入方法 启动服务  npm run serve <template> <div id ="app"> <h3>{{msg}}& ...

  3. vue父子传值的具体应用

    最近我负责的项目已经迭代到第四版了,我作为一个没啥经验的小菜鸟也成长了很多. 在这一版开发开始之前,我老大就要求我在开发过程中尽量实现组件化,因此,我也遇到了很多问题,但基本都解决了,所以趁周末把这些 ...

  4. vue父子传值与非父子传值

    大概梳理下传值的几种方式 一:父子组件传值 props方式 子组件对外暴露方法并向父组件传递由于触发方法导致的值的变化,父组件接收子组件传递来的值:子组件接收父组件传递来的值,并根据传递来的值在子组件 ...

  5. vue 父子传值,子页面没有实时刷新的问题

    在做高德地图的时候,发现列表点击编辑的时候,地图不能实时更新: <el-form-item label="门店坐标:" :label-width="formLabe ...

  6. vue——父子传值

    转载地址:https://blog.csdn.net/xr510002594/article/details/83304141

  7. vue父子(父传子)传值

    vue2.0中,实现父子组件间的传值,需要依靠一个props的属性,作为变量接收的对象. 注:vue.js文件引用的是本地的js文件,拷贝本机运行时,可以使用cnd替换. https://www.bo ...

  8. Blazor和Vue对比学习(基础1.3):属性和父子传值

    组件除了要解决视图层展示.视图层与逻辑层的数据绑定,还需要解决一个重大问题,就是在组件树中实现数据传递,包括了父到子.子到父.祖到孙,以及任意组织之间.而我们上一章讲到的实现双向绑定的两个指令,Vue ...

  9. vue父子组件之间传值

    vue父子组件进行传值 vue中的父子组件,什么是父组件什么是子组件呢?就跟html标签一样,谁包裹着谁谁就是父组件,被包裹的元素就是子组件. 父组件向子组件传值 下面用的script引入的方式,那种 ...

随机推荐

  1. 【代码笔记】Web-CSS-CSS 教程

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  2. 自定义控制台程序导出角色对实体的权限为Excel文件

    本人微信公众号:微软动态CRM专家罗勇 ,回复282或者20181116可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me!我的网站是 www.luoyong.me . 先上 ...

  3. 安卓手机如何快速投屏到windows(10/8.1/7)电脑上

    前提: 手机和电脑连接的网络必须在同一局域网下. 优势: 手机和电脑不需要下载对应平台的应用,完全使用全系统自带功能. 附加: 以下演示是安卓手机和windows操作系统电脑,并且win10和win1 ...

  4. eclipse如何修改android工程的包名?

    在我们android项目开发到一定的程度时由于需要,我们必须修改一下工程的包名,以便更好的发布我们的项目.但是在这个过程中有时候修改好了之后会出现一些错误.下面由小编一步步教你如何更改包名,和解决出现 ...

  5. 【Linux】【Java】CentOS7安装最新版Java1.8.191运行开发环境

    1.前言 本来在写[Linux][Apatch Tomcat]安装与运行.都快写完了. 结果...我忘记安装 Java 环境 然后...新开了博客编辑页面. 最后...我的那个没了...没了...真的 ...

  6. PJSUA2开发文档--第十章 媒体质量(MEDIA QUALITY)

    10 媒体质量(Media Quality) 10.1 音频质量 如果遇到音频质量问题,可尝试以下步骤: 遵循指南:使用pjsystest测试声音设备. 识别声音问题并使用以下步骤进行故障排除:检查声 ...

  7. MongoDB 提升性能的18原则(开发设计阶段)

    MongoDB 是高性能数据,但是在使用的过程中,大家偶尔还会碰到一些性能问题.MongoDB和其它关系型数据库相比,例如 SQL Server .MySQL .Oracle 相比来说,相对较新,很多 ...

  8. SQL根据细粒度为天的查询

    当我们集成了一些前端框架,在某些展示页面上往往具有某些查询条件.而这其中日期查询的处理又较为麻烦,此处,我罗列了一种当前台上传了一种默认的date格式的日期查询数据至后台未经Controller或Se ...

  9. shell脚本批量推送公钥

    目的:新建管理机,为了实现批量管理主机,设置密匙登陆 原理:.通过密钥登陆,可以不用密码 操作过程: 1.生成密匙 ssh-keygen 2.查看密匙 ls   ~/.ssh/ 有私匙id_rsa公匙 ...

  10. iOS 12.1 跳转页面时 tabBar闪动

    最新iOS 12.1系统,self.hidesBottomBarWhenPushed = YES,tabBar发生闪动 设置为不透明就行了.[[UITabBar appearance] setTran ...