vue --子父组件传值

1、父组件可以使用 props 把数据传给子组件。

2、子组件可以使用 $emit 触发父组件的自定义事件。

vm.$emit( event, arg ) //触发当前实例上的事件

vm.$on( event, fn );//监听event事件后运行
fn;

例如:子组件:

[plain] view plain copy

  1. <template>
  2. <div class="train-city">
  3. <span @click=‘select(`大连`)‘>大连</span>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. name:‘trainCity‘,
  9. methods:{
  10. select(val) {
  11. let data = {
  12. cityname: val
  13. };
  14. this.$emit(‘showCityName‘,data);//select事件触发后,自动触发showCityName事件
  15. }
  16. }
  17. }
  18. </script>

父组件:

[plain] view plain copy

  1. <template>
  2. <trainCity @showCityName="updateCity" :index="goOrtoCity"></trainCity> //监听子组件的showCityName事件。
  3. <template>
  4. <script>
  5. export default {
  6. name:‘index‘,
  7. data () {
  8. return {
  9. toCity:"北京"
  10. }
  11. }
  12. methods:{
  13. updateCity(data){//触发子组件城市选择-选择城市的事件
  14. this.toCity = data.cityname;//改变了父组件的值
  15. console.log(‘toCity:‘+this.toCity)
  16. }
  17. }
  18. }
  19. </script>

结果为:toCity: 大连

原文地址:https://www.cnblogs.com/lanyueff/p/8487804.html

时间: 2024-10-28 23:06:30

vue --子父组件传值的相关文章

vue中子父组件传值问题

1.子组件向父组件传值(事件调用机制:本质就是父向子传递方法,子调用方法,子将数据当作参数传给这个方法:即传值给父组件): 1.在父组件中创建一个方法: <p>购买数量:<number-box :id="id" @getcount="getSelectCount" :max="msglist.stock_quantity"></number-box></p> (1)getSelectCount(){

vue子父组件的通信

1.父组件像子组件传值 a.app.vue父组件 <template> <div id="app"> <h1>{{title}}</h1> <h1 v-text="title"></h1> <h1 v-html="title"></h1> <input type="text" v-model="newItem&quo

vue 子父组件之间的通信,及在调用组件的地方

这里是用了 element ui 你们也可以看一下管方的文档 http://element.eleme.io/#/zh-CN/component/installation 组件html <div class="Hander"> <el-row :gutter="20"> <el-col :span="4"><div class="back" @click="Back"

【转】Vue组件一-父组件传值给子组件

Vue组件一-父组件传值给子组件 开始 Vue组件是学习Vue框架最比较难的部分,而这部分难点我认为可以分为三个部分学习,即 组件的传值 - 父组件向子组件中传值 事件回馈 - 子组件向父组件发送消息,父组件监听消息 分发内容 整个博客使用的源代码-请点击 所以将用三篇博客分别进行介绍以上三种情况和使用 Vue的设计者对组件的理解 Vue的设计者,对组件和父组件之间的关系流上做了阐述,即单向数据流图:父组件向子组件传递数据,子组件回馈事件 组件意味着协同工作,通常父子组件会是这样的关系:组件 A

Vue 组件&amp;组件之间的通信 之 子组件向父组件传值

子组件向父组件传值:子组件通过$.emit()方法以事件形式向父组件发送消息传值: 使用步骤: 定义组件:现有自定义组件com-a.com-b,com-a是com-b的父组件: 准备获取数据:父组件com-a要获取子组件data中的height属性: 在子组件com-b中,需要用$.emit()方法将数据以事件的形式发送,$.emit('sendData', data, data…),红色的部分事件名可自定义,数据可传递多个: 在父组件中使用子组件的地方 <com-b @自定义事件名='getD

Vue 第八章 子组件向父组件传值

1.子组件向父组件传值步骤 1.父组件定义一个方法 methods:{ show(data){ this.fumsg = data; console.log("父组件数据"+data) } } 2.子组件通过事件绑定调用父组件方法 <!-- 父组件向子组件传递方法,使用事件绑定机制 v-on --> <com2 v-on:func="show"></com2> <h1>h还没有值:{{fumsg}}</h1>

vue子组件向父组件传值

vue2.0中通过$emit事件在子组件中自定义事件,通过操作子组件中的事件,向父组件传递参数: 首先写一个叫做parentComp.vue的父组件: <template> <div> <childComp01 :fromParentToChild="fromParentToChild" :isShow="show" @showParentComp="eventFromChild"></childComp

vue 和react中子组件分别如何向父组件传值

vue子组件和父组件双向传值: 子: Vue.component("childComponent",{ template:`<div><p @click='postData'>向父组件传值:点击我</p>{{result?'开':'关'}}</div>`, props:["result"], data(){ return{ message:'从子组件传过来的数据' } }, methods:{ postData(){

Vue最常用的组件通讯有三种:父-&gt;子组件通讯、子-&gt;父组件通讯,兄弟组件通讯.(template用的pug模板语法)

Vue最常用的组件通讯有三种:父->子组件通讯.子->父组件通讯,兄弟组件通讯.(template用的pug模板语法) 1.父->子组件通讯 父->子组件通讯,是通过props进行数据传递,并且具有这几个特性,单向传递,子组件接收的数据不可以更改,如果更改,会发出警告,每次父组件更新时,子组件的所有 prop 都会更新为最新值. 1 父组件 2 <template lang="pug"> 3 .father 4 Children(:name='msg