【vue】父组件主动调用子组件 /// 非父子组件传值
2024-08-30 04:50:07
一 父组件主动调用子组件:
注意:在父组件使用子组件的标签上注入ref属性,例如:
<div id="home">
<v-header ref="header"></v-header>
<hr>
首页组件
<button @click="getChildData()">获取子组件的数据和方法</button>
</div>
父组件主动获取子组件的数据和方法: .调用子组件的时候定义一个ref <v-header ref="header"></v-header> .在父组件里面通过 this.$refs.header.属性 this.$refs.header.方法
二 非父子组件传值
注意:非父子组件传值,但两个组件必须被在一个页面中使用了。例如 home组件和news组件互相传值:
<template> <div id="app"> <v-home></v-home> <br> <v-news></v-news>
</div>
</template>
(1)创建vue实例
import Vue from 'vue'; var VueEvent = new Vue() export default VueEvent;
(2)$emit $on
<template>
<div id="news">
我是新闻组件
<br>
<button @click="emitHome()">给Home组件广播数据</button>
<br>
</div> </template> <script>
//引入 vue实例
import VueEvent from '../model/VueEvent.js';
export default{
data(){
return {
msg:'我是一个新闻组件'
}
},
methods:{
emitHome(){
//广播
VueEvent.$emit('to-home',this.msg)
}
},
mounted(){
VueEvent.$on('to-news',function(data){
console.log(data);
})
}
}
</script>
<template>
<!-- 所有的内容要被根节点包含起来 -->
<div id="home">
我是首页组件
<br>
<button @click="emitNews()">给News组件广播数据</button>
<br>
</div>
</template> <script> //引入 vue实例
import VueEvent from '../model/VueEvent.js'; export default{
data(){
return {
msg:'我是一个home组件',
title:'首页111'
}
},methods:{
emitNews(){
//广播数据
VueEvent.$emit('to-news',this.msg)
}
},
mounted(){
//监听news 广播的数据
VueEvent.$on('to-home',function(data){
console.log(data);
})
}
} </script> <style lang="scss" scoped> </style>
最新文章
- VS2015 出现 .NETSystem.Runtime.Remoting.RemotingException: TCP 错误
- SQL Server 2012 The report server cannot open a connection to the report server database
- 我的ORM之十二 -- 支持的数据库及差别
- CSS3 ::selection选择器
- PHP读取excel文档
- c# 扩展方法奇思妙用基础篇八:Distinct 扩展(转载)
- GETorPOST方式保存和获取图片信息
- 【LeetCode 221】Maximal Square
- 题目1437:To Fill or Not to Fill:贪心算法解决加油站选择问题(未解决)
- poj 1426 Find The Multiple( bfs )
- FZU 2214 Knapsack dp (转化背包)
- &#39;adb&#39; 不是内部或外部命令,也不是可运行的程序
- 10本Java书籍推荐
- [Maximize ∑arr[i]*i of an Array]
- python 读取文件read.csv报错 OSError: Initializing from file failed
- <;iframe>; 标签 中 src 的三种形式. display , echart
- Nginx里Header修改
- 优秀员工的修炼&mdash;&mdash;通往专家、管理之路
- HTML(form标签)、CSS选择器一
- InfluxDB中文文档
热门文章
- Go 学习之路:Println 与 Printf 的区别
- Golang 对接宝付、通联、富友金账户...填坑记
- go VS NET 字符串操作能力
- 20155222 2016-2017-2 《Java程序设计》第3周学习总结
- Qt5.3.2 在MAC yosemite下编译出错 Could not resolve SDK path
- centos7下将java -jar命令运行一个项目做成systemd服务
- 【LOJ121】「离线可过」动态图连通性
- 【LOJ4632】[PKUSC2018]真实排名
- SRM 653 CountryGroupHard
- 3060 抓住那头奶牛 USACO