1. 前提&知识点

  1./components/Father.vue 是父组件, Son.vue 是子组件

  2.子组件修改父组件

    emit

2. 组件通信

  1. 首先对子组件绑定一个事件 changeFatherTitle,用来修改父组件的标题

<li v-for="item in father_list" :key='item' @click="changeFatherTitle">{{item}}</li>

  2. 添加changeFatherTitle方法

 methods: {
changeFatherTitle (ev) {
console.log(this)
}
}

  3. 添加自定义事件$emit 接收两个参数:第一个参数,自定义名称,第二个参数,自定义内容

methods: {
changeFatherTitle (ev) {
console.log(this)
this.$emit('changeFatherTitle', ev.target.innerHTML)
}
}

  4. 子组件已经触发了changeFatherTitle事件,父组件接收 father.vue ,在子组件标签上绑定changeFatherTitle事件

<son :father_list="father_list" @changeFatherTitle="changeTitle"></son>

  5. 添加 changeTitle方法, 通过子组件获取的数据,每次点击修改父组件的title

 methods: {
changeTitle(str) {
this.title = str;
}
}

  6. 效果

3. 完整代码

Father.vue

<template>
<div>
<h2>{{title}}</h2>
<son :father_list="father_list" @changeFatherTitle="changeTitle"></son>
</div>
</template>
<script>
import Son from "./Son.vue";
export default {
name: "Father",
data() {
return {
title: "father",
father_list: ["第一章", "第二章", "第三章", "第四章"]
};
},
methods: {
changeTitle(str) {
this.title = str;
}
},
components: {
son: Son
}
};
</script>

Son.vue

<template>
<div>
<ul>
<li v-for="item in father_list" :key='item' @click="changeFatherTitle">{{item}}</li>
</ul>
</div>
</template>
<script>
export default {
data () {
name: 'Son'
return {
// list: ['第一章', '第二章', '第三章', '第四章']
}
},
methods: {
changeFatherTitle (ev) {
console.log(this)
this.$emit('changeFatherTitle', ev.target.innerHTML)
}
},
props: ['father_list']
}
</script>

【VUE】7.组件通信(二)子组件修改父组件的更多相关文章

  1. 14. VUE 子组件修改父组件的值

    在 Vue 当中,父组件 -> 子组件 传值,都是通过属性的形式传递的. 子组件 修改 传递数据 直接操作父组件传递过来的值,用是可以用的,但是打开控制台后,会发现 Vue 有个警告:你不要直接 ...

  2. vue 子组件修改父组件传来的props值,报错

    vue不推荐直接在子组件中修改父组件传来的props的值,会报错 [Vue warn]: Avoid mutating a prop directly since the value will be ...

  3. vue中通过.sync修饰符实现子组件修改父组件数据

    vue父子通讯是单向数据流,也就是子组件不能修改父组件的值,但是在一些情况下是需要这样做的. 先看官方文档: 接下来举例实现 1.实现一个双向数据绑定,子组件改变的时候,父组件也在改变 父组件 < ...

  4. vue—子组件修改父组件的值

    如何在子组件中修改父组件的值第一步:首先得保证父组件中有值吧这是userManage.vue 1 data(){ 2 return{ 3 dialogCreate:'false' 4 } 5 } 第二 ...

  5. vue 子组件修改父组件变量问题

    昨天遇到一个这样的场景, 主页面引用了一个子页面,子页面有个Redio选择,2个选项. 默认的,会从父组件传递一个参数给子组件作为默认值,实现默认选中效果,以及用来做反选. 开始没什么问题,页面都摆上 ...

  6. React-Native子组件修改父组件的几种方式,兄弟组件状态修改(转载)

    子组件修改父组件的状态,在开发中非常常见,下面列举了几种方式.DeviceEventEmitter可以跨组件,跨页面进行数据传递,还有一些状态的修改.http://www.jianshu.com/p/ ...

  7. Vue-自定义事件之—— 子组件修改父组件的值

    如何利用自定义的事件,在子组件中修改父组件里边的值? 关键点记住:三个事件名字 步骤如下: 这里,相对本案例,父组件定义为Second-module,对应的子组件是Three-module 第一步:你 ...

  8. vue2.0子组件修改父组件props数据的值

    从vue1.0升级至2.0之后 prop的.sync被去除 因此直接在子组件修改父组件的值是会报错的如下: 目的是为了阻止子组件影响父组件的数据那么在vue2.0之后 如何在子组件修改父组件props ...

  9. vue中子组件直接修改父组件prop属性bug

    在有些时候,子组件直接修改父组件传来的 prop 对象的属性会出现不同步的问题. 比如,父组件传过来的一个对象 checkBoxObj: checkBoxObj:{ checked: false } ...

随机推荐

  1. pycharm调试bug Process finished with exit code -1073740791 (0xC0000409)

    我经常py代码出错 控制台只提示这个 Process finished with exit code -1073740791 (0xC0000409) 但是根本没有报错原因 首先我们应该改一下pych ...

  2. oracle数据库中索引失效的几种情况

    原文1:https://blog.csdn.net/u012255097/article/details/102792683 原文2:https://www.cnblogs.com/lanseyita ...

  3. 注意由双大括号匿名类引起的serialVersionUID编译告警

    问题描述 最近版本组织清理编译告警,其中有这么一条比较有意思,之前没见过,拿出来说一说 "serializable class anonymous com.demo.Main$1 has n ...

  4. D. Alyona and Strings 解析(思維、DP)

    Codeforce 682 D. Alyona and Strings 解析(思維.DP) 今天我們來看看CF682D 題目連結 題目 略,請直接看原題. 前言 a @copyright petjel ...

  5. E. Tree Queries 解析(思維、LCA)

    Codeforce 1328 E. Tree Queries 解析(思維.LCA) 今天我們來看看CF1328E 題目連結 題目 給你一棵樹,並且給你\(m\le2e5\)個詢問(包含\(k\)個點) ...

  6. 《Head First 设计模式》:与设计模式相处

    正文 一.设计原则 1.封装变化 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起. 2.针对接口编程,不针对实现编程 "针对接口编程"真正的意思是& ...

  7. 微服务通信之ribbon实现原理

    前言 上一篇我们知道了feign调用实现负载均衡是通过集成ribbon实现的.也较为详细的了解到了集成的过程.现在我们看一下ribbo是如何实现负载均衡的.写到这里我尚未去阅读源代码,我在这里盲猜一下 ...

  8. Mybatis的基础配置

    mybatis相关配置 mybatis核心文件配置的用法以及事例(初级) properties标签:获取外部的配置文件 <properties resource="jdbc.prope ...

  9. 转载-Java匿名内部类

    作者: chenssy 出处: http://www.cnblogs.com/chenssy/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接, ...

  10. 说说 C# 9 新特性的实际运用

    你一定会好奇:"老周,你去哪开飞机了?这么久没写博客了." 老周:"我买不起飞机,开了个铁矿,挖了一年半的石头.谁知铁矿垮了,压死了几条蜈蚣,什么也没挖着." ...