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. C语言之 判断语句基础与if语句反汇编

    0x01.判断语句介绍以及用法 判断语句有哪些? 1.If 用法1: if (条件) { //代码块 } 当条件成立,也就是为True时,执行{}中的代码 用法2: if(条件) { //代码块 } ...

  2. 走在深夜的小码农 Seventh Day

    Css3 Seventh Day writer:late at night codepeasant 学习大纲: 1. 定位(position) 介绍 1.1 为什么使用定位 我们先来看一个效果,同时思 ...

  3. lora技术在电力行业的应用

    智能电网的目标是建立一个高速通信网络之上的传统电网.它通过传感,分析,预测,决策和控制提供稳定,高效的电力供应.传统电网分为三个主要区域S-发电,输电和配电.先进的计量系统是使这种传统电网智能化的基础 ...

  4. redis方法-

    //链接错误注意 //1.防火墙 //2.配置文件IP绑定 $redis = new Redis(); //连接redis $redis->connect('127.0.0.1', 6379); ...

  5. JavaWeb项目问题记录

    模板 [遇到的问题] [时间] [原因] [解决方案] [排查思路及方式] 思路: 1) 2) [遇到的问题] 品优购项目中运营商页面查询广告信息是,无法正常查询,错误如下: Failed to lo ...

  6. 【USACO】Cow Brainiacs

    题意描述 Cow Brainiacs 求 \(n!\) 在 \(b\) 进制表示下的第一位非 \(0\) 位的数字. 算法分析 闲话 忙人自动略过 之前做过一道 \(10\) 进制表示下的题目,感觉差 ...

  7. ElasticSearch初步了解和安装(windows上安装)

    ElasticSearch是什么 ElasticSearch(一般简称es)是一个基于Lucene的分布式搜索和数据分析引擎.它提供了REST api 的操作接口.它可以快速的存储.搜索.分析海量数据 ...

  8. Java_流相关

    java.io包中重要的5个类3个接口 类名 说明 File 文件类 InputStream 字节流输入 OutputStream 字节流输出 Reader 字符输入流 Writer 字符输出流 Cl ...

  9. 按揭贷款的计算原理与java实现

    Number部分(6) Mortgage Calculator--按揭贷款计算器 题目描述: Mortgage Calculator – Calculate the monthly payments ...

  10. Oracle数据库系统结构(一) 

    1.Oracle数据库系统结构概述 Oracle数据库由存放在磁盘上的数据库(DB)和对磁盘上的数据库进行管理的数据库管理系统(DBMS)两部分构成,分别对应着数据库的存储结构和软件结构. Oracl ...