1、父组件向子组件传值

父组件:

1
2
3
4
5
6
7
8
9
10
11
12
<template>
<child :name="name"></child>
</template>
<script>
import child from "./child.vue"
export default {
components: {child},
data(){
return {name:"二哈"}
}
}
</script>

子组件:

1
2
3
4
5
6
7
8
<template>
<div>{{name}}</div>
</template>
<script>
export default {
props:["name"]
}
</script>

2、子组件向父组件传值

父组件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<template>
<child @childToParent="reviceSondata"></child>
</template>
<script>
import child from "./child.vue"
export default {
components: {child},
methods:{
reviceSondata(data){
console.log(data);
}
}
}
</script>

子组件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<template>
<button @click="dataTofather">点击</button>
</template>
<script>
export default {
data () {
return {
message: '啦啦啦啦'
}
},
methods:{
dataTofather(){
this.$emit("childToParent",this.message,true);
}
}
}
</script>


 


3、兄弟组件传值

可以借用公共父元素。子组件A  this.$emit("eventName", data) 触发事件,父组件监听事件,更改父组件 data , 通过Props 传值到子组件B,子组件B watch Props(注意不是watch 子组件B自身data)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<el-tab-pane label="组织信息" name="second">
               <el-row :gutter="30">
                   <el-col :span="6">
                       <!-- 组织组件子组件A -->
                       <Organization  @callBackInfo="handleInfo"></Organization>
                   </el-col>
 
                   <el-col :span="18">
                       <!-- 部门领导信息子组件B -->
                       <LeaderHead :partInfo="infos" ></LeaderHead>
 
                       <!-- 人员信息 -->
                       <PersonTable></PersonTable>
                   </el-col>
               </el-row>
    </el-tab-pane>       

  

1
2
3
4
5
6
7
8
9
10
// 父组件
methods: {
      handleClick(tab, event) {
        console.log("tab 切换");
      },
      handleInfo(data){
        console.log({prop:data})
        this.infos = data
      },
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 子组件A
methods:{
        getOrganizationTree(){
            this.$axios.get(
                "/api/dingtalk/getDeptTree",
                { headers: { "Content-Type""application/x-www-form-urlencoded" }    
             }
            )
            .then( res => {
                var result = res.data;
                if (result.success) {
                    console.log(result.data)
                    this.treeData = [result.data]
                    let partInfo = [
                        {name:"管理员:", value:"熊涛"},
                        {name:"会话ID:", value:"dafasdfadsfasdf"},
                        {name:"部门所有者:", value:"熊涛1000"}
                    ]
                    this.$emit("callBackInfo", partInfo)
                    console.log(50050)
                else {
                    alert(result.message)
                }
            })
        },
}

  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// 子组件B
<script>
export default {
    name:"LeaderHead",
    props:["partInfo"],
    data(){
        return {
            infos:this.partInfo
        }
    },
    watch:{
        partInfo(){
            console.log({PART:this.partInfo})
            this.infos = this.partInfo;
        }
    },
    mounted(){
        this.infos = this.partInfo;
    }
}
</script>

vue的组件传值的更多相关文章

  1. vue父子组件传值加例子

    例子:http://element-cn.eleme.io/#/zh-CN/component/form         上进行改的 父传子:用prop:子组件能够改变父组件的值,是共享的,和父操作是 ...

  2. 关于Vue父子组件传值(复杂数据类型的值)的细节点

    vue 父子组件传值是很常见的,多数情况下都是父传递给子的值是基础数据类型,如string,number,boolean, 当父组件值被修改时,子组件能够实时的作出改变. 如果父子传值的类型是复杂数据 ...

  3. 一个故事讲懂vue父子组件传值

    作者:李佳明同学链接:https://www.jianshu.com/p/2272b6ca0f0c 一个故事讲懂vue父子组件传值 讲故事前先讲代码 父组件向子组件传值 父组件数据传递给子组件可以通过 ...

  4. vue.js组件传值

    组件传值有一下几种方式:父子传值(父传子,子传父),非父子传值,vuex,插槽作用域 1.父子传值: (1)父传子: 传值方:当子元素在父元素中当标签使用时,通过给子标签绑定一个自定义属性,属性值为需 ...

  5. vue兄弟组件传值

    vue中除了父子组件传值,父传子用props,子传父用$emit,有时候兄弟组件之间也需要传值 1. 先定义一个中间件,src下面新建self.js import Vue from 'vue'; le ...

  6. vue父子组件传值

    1.父组件向子组件传值 例如app.vue是父组件,v-header.vue是子组件,实现app向v-header传值父组件需要自定义自己的title值, 子组件v-header内容 <temp ...

  7. vue中组件传值方式汇总

    在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值. 一.路由传值 路由对象如下图所示: 在跳转页面的时候,在js代码中的操作如下,在标签中使用<router-li ...

  8. Vue 父组件传值到子组件

    vue 父组件给子组件传值中 这里的AccessList就是子组件 如果 是静态传值的话直接  msg="xxx"就好 这里动态取值的话就  :msg=xxxxx ________ ...

  9. Vue父子组件传值之——访问根组件$root、$parent、$children和$refs

    Vue组件传值除了prop和$emit,我们还可以直接获取组件对象: 根组件: $root // 单一对象 表示当前组件树的根 Vue 实例,即new Vue({...根组件内容}).如果当前实例没有 ...

  10. vue 父子组件传值以及方法调用,平行组件之间传值以及方法调用大全

    vue项目经常需要组件间的传值以及方法调用,具体场景就不说了,都知道.基本上所有的传值都可以用vuex状态管理来实现,只要在组件内监听vuex就好. vue常用的传值方式以及方法有: 1. 父值传子( ...

随机推荐

  1. opensuse安装Tomcat碰到的问题

    已经安装好JDE,并配置好环境变量 从官网下载Tomcat tar包,解压到用户目录,进入运行bin下的start.sh,显示运行成功,但是浏览器中输入localhost:8080连接不上 检查一番发 ...

  2. canal 基于Mysql数据库增量日志解析

    canal 基于Mysql数据库增量日志解析  1.前言  最近太多事情 工作的事情,以及终身大事等等 耽误更新,由于最近做项目需要同步监听 未来电视 mysql的变更了解到公司会用canal做增量监 ...

  3. 枚举 + exgcd

    题意:已知xi=(a*xi-1+b) mod 10001,且告诉你x1,x3.........x2*t-1,让你求出其偶数列 思路分析 : 题目所要求的的是对 10001 取余,由模运算的性质可知,a ...

  4. VirtualBox扩充磁盘&清空安装包

    1.virtual box 扩充磁盘空间 D:\VirtualBox\VBoxManage.exe modifyhd "E:\virtual box\daisyyun\daisyyun.vd ...

  5. requests请求

    requests:伪造浏览器请求 请求 1.get requests.get( url='', params={ 'k1': ''v1, 'k2': 'v2' } ) 即 url?k1=k2& ...

  6. 【Java并发基础】使用“等待—通知”机制优化死锁中占用且等待解决方案

    前言 在前篇介绍死锁的文章中,我们破坏等待占用且等待条件时,用了一个死循环来获取两个账本对象. // 一次性申请转出账户和转入账户,直到成功 while(!actr.apply(this, targe ...

  7. SpingMvc复杂参数传收总结

    上一篇文章[javaWeb传收参数方式总结]总结了简单传收参数,这一篇讲如何传收复杂参数,比如Long[] .User(bean里面包含List).User[].List.List<Map< ...

  8. 靶机-BTRSys 2.1 Walkthrough

    BTRSys 2.1 https://www.vulnhub.com/entry/btrsys-v21,196/ 参考:https://www.jianshu.com/p/9813095ce04d 提 ...

  9. window平台基于influxdb + grafana + jmeter 搭建性能测试实时监控平台

    一.influxdb 安装与配置 1.1 influxdb下载并安装 官网无需翻墙,但是下载跳出的界面需要翻墙,我这里提供下载链接:https://dl.influxdata.com/influxdb ...

  10. 谈谈 InnoDB引擎中的一些索引策略

    如果我们在工作能够更好的利用好索引,那将会极大的提升数据库的性能. 覆盖索引 覆盖索引是指在普通索引树中可以得到查询的结果,不需要在回到主键索引树中再次搜索 建立如下这张表来演示覆盖索引: creat ...