博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue(非)父子组件的传值以及方法调用
阅读量:7108 次
发布时间:2019-06-28

本文共 962 字,大约阅读时间需要 3 分钟。

1.vue父组件给子组件传值的方法

<heador :userName="username"></heador>
子组件中通过props接收传值
props:{
username:{

type:String,  default:""

}

}

2.vue父组件调用子组件的方法

<heador ref="header"></heador>
this.$refs.header.子组件的方法

3.子组件传值给父组件

一般通过点击事件
this.$emit("getName",this.msg)
在这里注册一个事件,把值通过事件带过去。
然后在父组件中通过
<asidor @getName="getNamefromchild">
</asidor>
在methods中可以通过
getNamefromchild(data){
data就是传过来的值
}

4.子组件调用父组件的方法

在子组件中
<el-button type="primary" @click="diaoyongparent"></el-button>
diaoyongparent(){
this.$emit("diaoyongParentfunc")
这里可以带参数
}
然后在父组件中
<asidor @diaoyongParentfunc="diaoyongbychild"></asidor>
diaoyongbychild(){
alert("调用父组件的方法了,如果有参数也可以哦")
}

5.对于非父子组件的传值

首先在main.js里面定义Vue对象的时候在data属性里面创建一个变量,并赋值为一个vue对象,这个变量在整个应用中都可以直接访问,他可以充当EventHub事件中心
new Vue({
el:"#app",
router,
store,
components:{App},
data:{

Hub:new Vue()

}

})
然后在第一个组件里面
gotoside(){
this.$root.Hub.$emit("oneEvent",this.msg)
}
然后在第二个组件里面
created(){
this.$root.Hub.$on("oneEvent",function(msg){
alert(msg)
})
}

转载地址:http://povhl.baihongyu.com/

你可能感兴趣的文章
StackOverflow发布年度开发者调查报告:JavaScript备受欢迎
查看>>
自平衡二叉查找树
查看>>
shell脚本中的数据传递方式
查看>>
Shiro系列(0) - 权限管理在J2EE企业级开发中的应用与实战
查看>>
Oracle Goldengate REPLICAT启动时报正在运行解决办法
查看>>
Gdevops峰会归来
查看>>
[20170215]ORA-00088与DG Gap监测与解决4
查看>>
Hadoop Pig学习笔记(一) 各种SQL在PIG中实现
查看>>
充分挖掘大数据资源“富矿”
查看>>
oerr的用法
查看>>
解决GPG签名验证错误
查看>>
不属于自己的就忘掉吧,不要留恋,就当着是回忆吧…!
查看>>
文化衫、毕业纪念衫选用什么方式印刷合适?
查看>>
Spark亚太研究院决胜大数据时代100期公益大讲堂
查看>>
删除多target工程
查看>>
NSRunLoop详解
查看>>
[From Microsoft] Using command redirection oper...
查看>>
C++11新特性:std::move()和std::forward()
查看>>
springMVC+jpa配置之简单案例
查看>>
centos6.0 安装jdk
查看>>