Vue父组件如何获取子组件中的变量


Posted in Javascript onJuly 24, 2019

在vue项目日常开发中,难免要把功能性组件抽离出来,这样结构就会出现父子组价,兄弟组件等,但是这样就会涉及到不同组件需要互相使用其中的值得问题。

之前有说过通过ref来让父组件操作子组件,并且传值,那么我们今天来详细看看。

案例一:点击父组件的按钮,操作子组件显示

注:可以通过获取id/class来操作,这里我就不介绍这种方法了,至于jquery的话,在vue中还是慎用。

介绍:这里通过给子组件绑定ref属性,引号命名自定义,然后父组件通过 this.$refs.名字 就可以操作子组件的元素,以改变它的样式等。

<template>
 <div class="DbSource-box">
 <el-button type="primary" icon="" class="addBtn" @click="addDbSource()">新增</el-button>
 <db-source-add ref="addAlert" v-on:init="init"></db-source-add>
 </div>
</template>
 
<script>
 import DbSourceAdd from "../components/DbSourceManager/DbSourceAdd";
 export default {
 name: "DbSourceManager",
 components: {DbSourceAdd},
 methods: {
  // 点击新增按钮,弹出新增数据源的弹框
  addDbSource(){
  this.$refs.addAlert.$el.style.display = "block";
  },
 }
 }
</script>

案列二:获取子组件data中的变量

介绍:

父组件:

这里通过给子组件绑定ref属性,引号中的命名自定义,然后父组件通过 this.$refs.名字.变量名 就可以获得子组件中的值

<template>
 <div class="DbSource-box">
 <el-button type="primary" icon="" class="selectBtn" @click="deleteSelectDbSource()">批量删除</el-button>
 <db-source-table ref="getSelectData" :Data="Data" v-on:init="init"></db-source-table>
 </div>
</template>
 
<script>
 import DbSourceTable from "../components/DbSourceManager/DbSourceTable";
 export default {
 name: "DbSourceManager",
 components: {DbSourceTable},
 methods: {
  // 删除选中的数据源(批量删除)
  deleteSelectDbSource(){
  console.log(this.$refs.getSelectData.multipleSelection)
  },
 }
 }
</script>

子组件:

<template>
 <div class="table-box">
 
 </div>
</template>
 
<script>
 export default {
 name: "DbSourceTable",
 props:["Data"],
 data(){
  return {
  multipleSelection:[],
  pagesize: 3,
  currpage: 1,
  currId:""
  }
 }
</script>

好了,以上就是父组件获取子组件的值并且操作子组件的方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
ie中js创建checkbox默认选中问题探讨
Oct 21 Javascript
关于js内存泄露的一个好例子
Dec 09 Javascript
jQuery控制cookie过期时间的方法
Apr 07 Javascript
AngularJS基础 ng-mouseleave 指令详解
Aug 02 Javascript
AngularJS基础 ng-open 指令简单实例
Aug 02 Javascript
详解JavaScript常量定义
Jan 03 Javascript
Angular网络请求的封装方法
May 22 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
React父子组件间的传值的方法
Nov 13 Javascript
vue中将html字符串转换成html后遇到的问题小结
Dec 10 Javascript
使用layui+ajax实现简单的菜单权限管理及排序的方法
Sep 10 Javascript
react 路由Link配置详解
Nov 11 Javascript
mock.js模拟数据实现前后端分离
Jul 24 #Javascript
vue+mock.js实现前后端分离
Jul 24 #Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
Jul 24 #Javascript
Vue封装的组件全局注册并引用
Jul 24 #Javascript
vue子路由跳转实现tab选项卡
Jul 24 #Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
Jul 24 #Javascript
Vue.js路由实现选项卡简单实例
Jul 24 #Javascript
You might like
PHP 数据库树的遍历方法
2009/02/06 PHP
php判断变量类型常用方法
2012/04/24 PHP
php定时删除文件夹下文件(清理缓存文件)
2013/01/23 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
用PHP解决的一个栈的面试题
2014/07/02 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
javascript引导程序
2008/10/26 Javascript
Javascript变量函数浅析
2011/09/02 Javascript
javascript jq 弹出层实例
2013/08/25 Javascript
Javascript中匿名函数的多种调用方式总结
2013/12/06 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
Jquery判断radio、selelct、checkbox是否选中及获取选中值方法总结
2015/04/15 Javascript
js实现键盘上下左右键选择文字并显示在文本框的方法
2015/05/07 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
js模拟实现百度搜索
2020/06/28 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
2020/08/03 Javascript
解决Python2.7读写文件中的中文乱码问题
2018/04/12 Python
基于python log取对数详解
2018/06/08 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
奥地利婴儿用品和玩具购物网站:baby-markt.at
2020/01/26 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
中式餐厅创业计划书范文
2014/01/23 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
实习单位证明范例
2014/11/17 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
盗窃罪辩护词范文
2015/05/21 职场文书
Python常遇到的错误和异常
2021/11/02 Python
科学家研发出新型速效酶,可在 24 小时内降解塑料制品
2022/04/29 数码科技
LeetCode189轮转数组python示例
2022/08/05 Python