Header.vue

 <template>

     <div>

         <h2>我是头部组件</h2>

           <button @click="getParentData()">获取子组件的数据和方法</button>

     </div>
</template> <script> export default{ data(){ return{
msg:'子组件的msg'
}
},
methods:{ run(){ alert('我是子组件的run方法')
},
getParentData(){ /*
子组件主动获取父组件的数据和方法: this.$parent.数据 this.$parent.方法 */
// alert(this.$parent.msg); //this.$parent.run();
}
} } </script>

Home.vue

 <template>
<!-- 所有的内容要被根节点包含起来 -->
<div id="home"> <v-header ref="header"></v-header> <hr>
首页组件 <button @click="getChildData()">获取子组件的数据和方法</button> </div> </template> <script> /*
父组件给子组件传值 1.父组件调用子组件的时候 绑定动态属性
<v-header :title="title"></v-header> 2、在子组件里面通过 props接收父组件传过来的数据
props:['title'] props:{ 'title':String
} 3.直接在子组件里面使用 父组件主动获取子组件的数据和方法: 1.调用子组件的时候定义一个ref <v-header ref="header"></v-header> 2.在父组件里面通过 this.$refs.header.属性 this.$refs.header.方法 子组件主动获取父组件的数据和方法: this.$parent.数据 this.$parent.方法 */ import Header from './Header.vue'; export default{
data(){
return {
msg:'我是一个home组件',
title:'首页111'
}
},
components:{ 'v-header':Header
},
methods:{ run(){ alert('我是Home组件的run方法');
},
getChildData(){ //父组件主动获取子组件的数据和方法:
// alert(this.$refs.header.msg); this.$refs.header.run();
}
} } </script> <style lang="scss" scoped> /*css 局部作用域 scoped*/ h2{ color:red
} </style>

vue 父组件主动获取子组件的数据和方法 子组件主动获取父组件的数据和方法的更多相关文章

  1. vue父组件异步获取动态数据传递给子组件获取不到值

    原理: 在父组件中使用axios获取异步数据传给子组件,但是发现子组件在渲染的时候并没有数据,在created里面打印也是空的,结果发现一开始子组件绑定的数据是空的,在请求数据没有返回数据时,子组件就 ...

  2. vue父组件数据改变,子组件数据并未发生改变(那是因为你没写监听)附带子组件的写法

    下面的代码有 父组件有三个按钮,年.月.日 点击之后父组件的数据发生改变,子组件却没改变,打印接受的数据,除了第一次其他都没打印,那是因为你没有写监听 <template> <div ...

  3. vue 父组件数据修改,子组件数据未修改

    页面: 父组件  <myfeedback></myfeedback>  子组件  <news></news> myfeedback.vue <te ...

  4. Vue等待父组件异步请求回数据'后'传值子组件

    问题: 让子组件在父组件有哪个数据的时候再渲染, 解决方案: 可以在父组件上加一个判断条件, 举例说明: <a-component :opt="opt" v-if=" ...

  5. Vue2.x中的父组件数据传递至子组件

    父组件结构 template <template> <div> <v-girl-group :girls="aGirls"></v-gir ...

  6. Vue基础(环境配置、内部指令、全局API、选项、内置组件)

    1.环境配置 安装VsCode 安装包管理工具:直接下载 NodeJS 进行安装即可,NodeJS自带 Npm 包管理工具,下载地址:https://nodejs.org/en/download/安装 ...

  7. vue初始化、数据处理、组件传参、路由传参、全局定义CSS与JS、组件生命周期

    目录 项目初始化 组件数据局部化处理 子组件 父组件 路由逻辑跳转 案例 组件传参 父传子 子组件 父组件 子传父 子组件 父组件 组件的生命周期钩子 路由传参 第一种 配置:router/index ...

  8. Blazor和Vue对比学习(基础1.4):事件和子传父

    Blazor和Vue的组件事件,都使用事件订阅者模式.相对于上一章的组件属性,需要多绕一个弯,无论Blazor还是Vue,都是入门的第一个难点.要突破这个难点,一是要熟悉事件订阅模式<其实不难& ...

  9. Vue Router路由守卫妙用:异步获取数据成功后再进行路由跳转并传递数据,失败则不进行跳转

    问题引入 试想这样一个业务场景: 在用户输入数据,点击提交按钮后,这时发起了ajax请求,如果请求成功, 则跳转到详情页面并展示详情数据,失败则不跳转到详情页面,只是在当前页面给出错误消息. 难点所在 ...

随机推荐

  1. 【vue】遇到的问题

    [一]项目编译的时候报错 npm install npm WARN @mtfe/thrift@2.3.7 requires a peer of thrift@0.11.0 but none is in ...

  2. 被卡住的2个问题:1.输入url不执行后台的java方法 2.改了jsp页面,再次请求还是以前的那个页面

    1.问题 一个子项目,它的java代码都是打包到磁盘这个文件夹  D://commlib java代码改了之后,也是打包到这个文件夹里,刷新就可看见改了的. 要想子项目能运行,必须在主项目中从/com ...

  3. gvim最简化设置,去掉工具栏和菜单栏

    编辑vimrc文件(该文件位于gvim安装目录下),在文件末尾添加以下语句即可 set gfn=Courier_New:h14colorscheme torteset guioptions-=mset ...

  4. openresty 一些可选的模板引擎

    以下为一些 openresty 可选的模板引擎,方便使用 lemplate (https://github.com/openresty/lemplate) lua-resty-tags (https: ...

  5. Unity 官方教程 学习

    Interface & Essentials Using the Unity Interface 1.Interface Overview https://unity3d.com/cn/lea ...

  6. netBeans 修改新建php文件头部注释模板

    用Netbeans(版本8.2)写php配置模板,模板配置好,可以省很多事,方便开发,而且,显得很专业. 新建php文件时: <?php /** * Encoding : UTF-8 * Cre ...

  7. bzoj 2553 [BeiJing2011]禁忌——AC自动机+概率DP+矩阵

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2553 看了题解才会…… 首先,给定一个串,最好的划分方式是按禁忌串出现的右端点排序,遇到能填 ...

  8. LOJ 2736 「JOISC 2016 Day 3」回转寿司 ——堆+分块思路

    题目:https://loj.ac/problem/2736 如果每个询问都是 l = 1 , r = n ,那么每次输出序列的 n 个数与本次操作的数的最大值即可.可以用堆维护. 不同区间的询问,可 ...

  9. java直接量(literal)

    直接量就是代码中直接使用的值,如 int i = 7;  char c = 'a'; boolean b = false;  7.'a'.false就是直接量. java有三种类型的直接量:基本类型. ...

  10. HanLP代码与词典分离方案与流程

    之前在spark环境中一直用的是portable版本,词条数量不是很够,且有心想把jieba,swcs词典加进来, 其他像ik,ansi-seg等分词词典由于没有词性并没有加进来. 本次修改主要是采用 ...