vue.js父组件访问子组件

news/2024/11/15 0:48:55/

父组件访问子组件

有时候我们需要父组件直接访问子组件,子组件直接访问父组件,或者是子组件访问跟组件。

  • 父组件访问子组件:使用$children或refs
  • 子组件访问父组件:使用$parent

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="author" content="xiaonaihu" /><meta name="generator" content="HBuilder X" /><title>父组件访问子组件</title><script src="../../lib/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><cpn></cpn><cpn></cpn><button @click = "btnClick">Button</button></div><template id="cpn"><div>children component</div></template><script type="text/javascript">const app = new Vue({el:"#app",data:{message:"hello vue!"},methods:{btnClick(){console.log(this.$children);this.$children[0].showMessage();// 父组件直接访问子组件中的showMessage方法// this.$children返回一个数组}},components:{cpn:{template:"#cpn",methods:{showMessage(){console.log('showMessage');}}}}});</script></body>
</html>

通过this.children的缺陷在于需要通过指定数组下标去访问指定子组件中的方法或属性,所以在开发中通常会使用$refs来访问子组件:

父组件中通过this.$refs.ref属性名来访问子组件

代码

<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta name="author" content="xiaonaihu" /><meta name="generator" content="HBuilder X" /><title>父组件访问子组件</title><script src="../../lib/vue.js" type="text/javascript" charset="utf-8"></script></head><body><div id="app"><cpn></cpn><cpn></cpn><cpn ref = "aa"></cpn><button @click = "btnClick">Button</button></div><template id="cpn"><div>children component</div></template><script type="text/javascript">const app = new Vue({el:"#app",data:{message:"hello vue!"},methods:{btnClick(){console.log(this.$children);// this.$children[0].showMessage();this.$refs.aa.showMessage();// 父组件直接访问子组件中的showMessage方法// this.$children返回一个数组}},components:{cpn:{template:"#cpn",methods:{showMessage(){console.log('showMessage');}}}}});</script></body>
</html>

http://www.ppmy.cn/news/932.html

相关文章

[附源码]计算机毕业设计仓库管理系统Springboot程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

关于PCB布局布线,这篇文章说透了

关于PCB布局布线的问题&#xff0c;今天我们不讲信号完整性分析&#xff08;SI&#xff09;、电磁兼容性分析&#xff08;EMC&#xff09;、电源完整性分析&#xff08;PI&#xff09;。 只讲可制造性分析&#xff08;DFM) &#xff0c;可制造性设计不合理同样会导致产品设计失…

基础生态学名词解释

生态学(ecology)&#xff1a;是研究有机体及其周围环境-包括非生物环境和生物环境相互关系的科学。 生态学的研究方法&#xff1a;野外的、实验的、理论的 环境&#xff08;environment&#xff09;&#xff1a;是指某一特定生物体或生物群体 生活空间的外界自然条件的总和。…

[LeetCode 1769]移动所有球到每个盒子所需的最小操作数

题目描述 题目链接&#xff1a;[LeetCode 1769]移动所有球到每个盒子所需的最小操作数 有 n 个盒子。给你一个长度为 n 的二进制字符串 boxes &#xff0c;其中 boxes[i] 的值为 ‘0’ 表示第 i 个盒子是 空 的&#xff0c;而 boxes[i] 的值为 ‘1’ 表示盒子里有 一个 小球。…

【Vue脚手架项目的结构】

目录 1. 关于VUE Cli 2. 修改VUE Cli项目的端口号 3. Vue脚手架项目的结构 4. 关于标签 5. 关于路由配置 6. 关于视图组件 7. 应用Element UI 1. 关于VUE Cli VUE Cli&#xff1a;Vue脚手架 在Vue脚手架项目中&#xff0c;使用的是“单页面”的设计模式&#xff0c;也就…

傻妞旧版合集新版订阅

目录一、前言二、下载三、新版傻妞订阅合集一、前言 傻妞旧版本(合集),包含amd和arm版本收集于TG 我的是amd架构 [rootecs-mike_note ~]# cat /proc/version Linux version 4.11.8-1.el7.elrepo.x86_64 (mockbuildBuild64F25) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-11…

ch2_2系统调用的实现

1. 为什么存在系统调用 起因&#xff0c; 应用程序 运行时在内存中&#xff0c;操作系统也在内存中&#xff0c; 为什么应用程序想访问 操作系统的提供的功能函数&#xff0c; 为什么不能 直接去取从内存中去取呢&#xff1f; 答&#xff1a; 操作系统是一个重要的存在&…

弱鸡记录一道模拟题

前言&#xff1a; 这不能算是题解&#xff0c;只是日记笔记而已 如果您想看正经规范的题解&#xff0c;请移步 题解 最近女赛寄了&#xff0c;并不是因为队员的原因&#xff0c;因为疫情?? 我们组没能凑齐最终上场的队员&#xff0c;最后相当于是两个菜鸡上的&#xff0c;我另…