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

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

【vue】父组件主动调用子组件 /// 非父子组件传值的更多相关文章

  1. vue 2 使用Bus.js进行兄弟(非父子)组件通信 简单案例

    vue2中废弃了$dispatch和$broadcast广播和分发事件的方法.父子组件中可以用props和$emit().如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介,要相互通 ...

  2. Vue bus的使用(兄弟|非父子组件传值)-->可以使用一个空的Vue实例作为中央事件总线new Vue()

    1.在main.js中注册全局的bus  Vue.prototype.bus=new Vue(); 2.在组建中使用 子组建使用:this.bus.$emit('自定义事件名',data) metho ...

  3. Vue父子,子父,非父子组件之间传值

    Vue组件基础 纯属随笔记录,具体详细教程,请查阅vue.js网站 子组件给父组件传值: <body> <div id="app"> <my-app& ...

  4. vue--父组件主动获取子组件的方法

    父组件主动获取子组件的方法和属性 第一步:调用自组件的时候,给自组建定义一个Header <v-header ref='headerInfo'></v-header> 第二步: ...

  5. 组件基础(非父子组件传值)—Vue学习笔记

    最近几天忙着写Api去了,抽空把后面的内容下出来,然后再分享给大家web可以使用的api. 上次说了父子组件直接的传值,这次看一下非父子组件之间的传值(总线机制) 要实现非父子组件之间的传值非常重要的 ...

  6. vue 父组件主动获取子组件的数据和方法 子组件主动获取父组件的数据和方法

    Header.vue <template> <div> <h2>我是头部组件</h2> <button @click="getParen ...

  7. Vue 父组件主动获取子组件的值,子组件主动获取父组件的值

    父组件主动获取子组件的值 1. 在调用子组件的时候定义一个ref-> ref="header"2. 在父组件中通过this.$refs.header.属性,调用子组件的属性, ...

  8. vue.js 父组件主动获取子组件的数据和方法、子组件主动获取父组件的数据和方法

    父组件主动获取子组件的数据和方法 1.调用子组件的时候 定义一个ref <headerchild ref="headerChild"></headerchild& ...

  9. Vue组件传值,父传子,子传父,非父子组件

    vue3中传值方式: 1.父组件向子组件传值 父组件Blog.vue <template> <div id="blog"> <Alert v-if=& ...

随机推荐

  1. Testing for diversifying selection for two clades with a background clade

    在利用branch-site检测趋同进化的时候 .可以将各个趋同进化枝分别进行检测,分析的时候不去除某一趋同枝系 .在分析的时候,需要去除其他趋同枝系的影响 I have sequences of a ...

  2. 20155207实验2 Windows口令破解

    20155207实验2 Windows口令破解 实验目的 了解Windows口令破解原理 对信息安全有直观感性认识 能够运用工具实现口令破解 实验原理 口令破解方法 口令破解主要有两种方法:字典破解和 ...

  3. 20155321 2016-2017-2《Java程序设计》课程总结

    20155321 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:学习情况的相关调查 预备作业3:安装虚拟机以及学习Linu ...

  4. 20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA)

    20155323刘威良第一次实验 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序 ...

  5. week8课上实践

    课上练习. 第一题: 参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成"求命令行传入整数参数的和" ...

  6. [BZOJ4444][SCOI2015]国旗计划-[ST表]

    Description 传送门 Solution 说真的这道题在场上没做出来的我必定是脑子有洞.. 我们用st表记录以某个位置开始,派了1<<j个战士能到达的最远位置. 由于边境线是一圈, ...

  7. 【LG3233】[HNOI2014]世界树

    题面 洛谷 题解 代码 #include <iostream> #include <cstdio> #include <cstdlib> #include < ...

  8. Lambada表达式的作用

    Lambda函数的用处   假设你设计了一个地址簿的类.现在你要提供函数查询这个地址簿,可能根据姓名查询,可能根据地址查询,还有可能两者结合.要是你为这些情况都写个函数,那么你一定就跪了.所以你应该提 ...

  9. html学习第一天

    由于之后想做个网站,所以web前端的也要学习一下. 昨天看了一下html,今天做一下记录. 首先是安装工具,用文本编辑器有点麻烦,我选择的是强大的 Dreamweaver CS6,不过大家喜欢文本编辑 ...

  10. 开源工具 | 手游自动化框架GAutomator,新增iOS系统和UE4引擎支

    WeTest 导读 GAutomator是腾讯WeTest推出的手游自动化测试框架,已用于腾讯多个手游项目组的自动化测试. 1.GAutomator诞生背后 研究过手游自动化测试的同学都知道,虽然市场 ...