Vue 在父(子)组件引用其子(父)组件方法和属性
Vue 在父(子)组件引用其子(父)组件方法和属性
by:授客 QQ:1033553122
开发环境
Win 10
element-ui "2.8.2"
Vue 2.9.6
父组件代码
<template>
<div>
<button @click="callChildMethod()">父组件调用子组件方法</button>
<button @click="getChildAttribute()">父组件获取子组件属性</button>
<header-part ref="headerChild"></header-part>
</div>
</template>
<script>
import HeaderPart from "./HeaderPart";
export default {
components: {
HeaderPart
},
data() {
return {
title: "父组件"
};
},
methods: {
callChildMethod() {
console.log("父组件中调用子组件printName方法");
this.$refs.headerChild.printName();
},
getChildAttribute() {
console.log(
"父组件获取子组件title属性值:" + this.$refs.headerChild.title
);
},
printName() {
console.log("打印父组件title属性值:" + this.title);
}
},
mounted() {
this.$customUtils.headerMenu.initMenuComponent();
}
};
</script>
子组件代码
<template>
<div>
<button @click="callFatherMethod()">子组件中调用父组件的方法</button>
<button @click="getFatherAttribute()">子组件中获取父组件的属性</button>
</div>
</template>
<script>
export default {
data() {
return {
title: "子组件"
};
},
methods: {
callFatherMethod() {
console.log("子组件中调用父组件printName方法")
this.$parent.printName();
},
getFatherAttribute(){
console.log("子组件获取父组件title属性值:" + this.$parent.title);
},
printName(){
console.log("打印子组件title属性值:" + this.title)
}
}
};
</script>
实验结果:

总结
父组件获取中引用子组件方法、属性
给子组件定义一个ref(假设名称为childRef),然后父组件中通过this.$refs.childRef获取子组件,进而引用子组件方法、属性,如下:
this.$refs.childRef.方法(参数列表)
this.$refs.childRef.属性
子组件中获取父组件的方法、属性
在子组件里面通过this.$parent获取父组件,进而引用父组件的方法和属性,如下:
this.$parent.属性
this.$parent.方法
Vue 在父(子)组件引用其子(父)组件方法和属性的更多相关文章
- C#变量初始化问题:字段初始值无法引用非静态字段、方法或属性
http://www.cnblogs.com/bluestorm/p/3432190.html 问题:字段初始值设定项无法引用非静态字段.方法或属性的问题 下面代码出错的原因,在类中定义的字段为什么不 ...
- C# 字段初始值无法引用非静态字段、方法或属性( 类内部变量初始化)
问题:字段初始值设定项无法引用非静态字段.方法或属性的问题 在类中 变量赋值其他变量报错? public class TestClass{ public TestClass() { } pu ...
- C# static 字段初始值设定项无法引用非静态字段、方法或属性
问题:字段或属性的问题字段初始值设定项无法引用非静态字段.方法 下面代码出错的原因,在类中定义的字段为什么不能用? public string text = test(); //提示 字段或属性的问题 ...
- vue父组件引用子组件方法显示undefined问题原因及解决方法
关于vue父组件引用子组件问题 1.首先导入子组件并且在components中定义子组件 2.引用子组件,并定义ref,ref定义的名称用于 this.$refs所调用的名称 3.调用子组件的方法 ( ...
- vue父组件引用多个相同的子组件传值
没有什么问题是for 解决不了的,我一直深信这句话,当然这句话也是我说的 父组件引用多个相同的子组件传值问题 (这种情况很少遇到) 1 <template> 2 <div> 3 ...
- vue组件之间的通信以及如何在父组件中调用子组件的方法和属性
在Vue中组件实例之间的作用域是孤立的,以为不能直接在子组件上引用父组件的数据,同时父组件也不能直接使用子组件的数据 一.父组件利用props往子组件传输数据 父组件: <div> < ...
- vue 父组件给子组件传值,子组件给父组件传值
父组件如何给子组件传值 使用props 举个例子: 子组件:fromTest.vue,父组件 app.vue fromTest.vue <template> <h2>{{tit ...
- vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。
vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值. vue 父组件与子组件相互通信 一.父组件给子组件传值 props 实现父组件向子组件传值. 1父组件里: ...
- vue:父子组件间通信,父组件调用子组件方法进行校验子组件的表单
参考: ElementUI多个子组件表单的校验管理:https://www.jianshu.com/p/541d8b18cf95 Vue 子组件调用父组件方法总结:https://juejin.im/ ...
- vue单文件组件形成父子(子父)组件之间通信(vue父组件传递数据给子组件,子组件传递数据给父组件)
看了很多文章,官网文档也有看,对父子组件通信说的不是很明白:决定自己总结一下: vue一般都使用构建工具构建项目:这样每个组件都是单文件组件:而网上很多文章都是script标签方式映入vue,组件通信 ...
随机推荐
- 网络广告代理商是如何通过Cookie收集用户信息的
更多博文请关注:https://blog.bigcoder.cn 不知道大家有没有这样的经历,我在某宝上搜索一个商品,然后再打开其它网站,它会非常"智能"的给我推荐同一商品. 这样 ...
- Django项目目录结构
- NOIP模拟58
T1 Lesson5 ! 解题思路 首先对于整张图求出拓扑序,然后顺着拓扑序其实也就是顺着边的方向,更新最长路,也就是从 1 节点到达这个节点的最长路. 然后再逆着拓扑序,反向求一下最长路,也就是从这 ...
- Qt_Demo_1:实现一个简易的记事本
1 环境: 系统:windows 10 代码编写运行环境:Qt Creator 4.4.1 (community) GitHub:https://github.com/zhengcixi/Qt_De ...
- c# .net mvc 使用百度Ueditor富文本框上传文件(图片,视频等)
使用背景: 项目中需要用的富文本框去上传视频,图片的话大部分都是可以的.相对来说,国外的富文本框很成熟.但鉴于文档是英语,这里使用了百度的富文本框. 采用的api的方式,调用接口进行上传文件.话不多说 ...
- 程序员面试金典-面试题 16.25. LRU缓存
题目: 设计和构建一个"最近最少使用"缓存,该缓存会删除最近最少使用的项目.缓存应该从键映射到值(允许你插入和检索特定键对应的值),并在初始化时指定最大容量.当缓存被填满时,它应该 ...
- INFINI Labs 产品更新 | Easysearch 新增快照搜索功能,Console 支持 OpenSearch 存储
INFINI Labs 产品又更新啦~,包括 Easysearch v1.7.0.Console v1.13.0.本次各产品更新了 Easysearch 快照搜索功能:Console 支持 OpenS ...
- 什么是 SpringMvc?
SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整合.
- Python数据类型(数字,字符串,[列表],(元组),{字典:字典值},{列表,列表2})
Python数据类型(数字,字符串,[列表],(元组),{字典:字典值},{列表,列表2}) # 1. # Python3 数字(Number) # Python 数字数据类型用于存储数值. # 数据 ...
- 在python中提示ImportError: No module named _caffe
问题描述 在编译import caffe的时候提示 ImportError: No module named _caffe 设备平台 ubuntu 16.04LTS 解决方案 1.打开终端(ctrl+ ...