一  父组件主动调用子组件:

注意:在父组件使用子组件的标签上注入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>

最新文章

  1. VS2015 出现 .NETSystem.Runtime.Remoting.RemotingException: TCP 错误
  2. SQL Server 2012 The report server cannot open a connection to the report server database
  3. 我的ORM之十二 -- 支持的数据库及差别
  4. CSS3 ::selection选择器
  5. PHP读取excel文档
  6. c# 扩展方法奇思妙用基础篇八:Distinct 扩展(转载)
  7. GETorPOST方式保存和获取图片信息
  8. 【LeetCode 221】Maximal Square
  9. 题目1437:To Fill or Not to Fill:贪心算法解决加油站选择问题(未解决)
  10. poj 1426 Find The Multiple( bfs )
  11. FZU 2214 Knapsack dp (转化背包)
  12. &#39;adb&#39; 不是内部或外部命令,也不是可运行的程序
  13. 10本Java书籍推荐
  14. [Maximize ∑arr[i]*i of an Array]
  15. python 读取文件read.csv报错 OSError: Initializing from file failed
  16. &lt;iframe&gt; 标签 中 src 的三种形式. display , echart
  17. Nginx里Header修改
  18. 优秀员工的修炼&mdash;&mdash;通往专家、管理之路
  19. HTML(form标签)、CSS选择器一
  20. InfluxDB中文文档

热门文章

  1. Go 学习之路:Println 与 Printf 的区别
  2. Golang 对接宝付、通联、富友金账户...填坑记
  3. go VS NET 字符串操作能力
  4. 20155222 2016-2017-2 《Java程序设计》第3周学习总结
  5. Qt5.3.2 在MAC yosemite下编译出错 Could not resolve SDK path
  6. centos7下将java -jar命令运行一个项目做成systemd服务
  7. 【LOJ121】「离线可过」动态图连通性
  8. 【LOJ4632】[PKUSC2018]真实排名
  9. SRM 653 CountryGroupHard
  10. 3060 抓住那头奶牛 USACO