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 相关文章推荐
关于JavaScript的一些看法
May 27 Javascript
checkbox设置复选框的只读效果不让用户勾选
Aug 12 Javascript
jquery制作弹窗提示窗口代码分享
Mar 02 Javascript
jquery.qtip提示信息插件用法简单实例
Jun 17 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
jQuery仿写百度百科的目录树
Jan 03 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
整理一些最近经常遇到的前端面试题
Apr 25 Javascript
Vue数组更新及过滤排序功能
Aug 10 Javascript
原生JS控制多个滚动条同步跟随滚动效果
Dec 22 Javascript
详解如何在Vue里建立长按指令
Aug 20 Javascript
Vue实现跑马灯样式文字横向滚动
Nov 23 Vue.js
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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
在字符串指定位置插入一段字符串的php代码
2010/02/16 PHP
在PHP中操作Excel实例代码
2010/04/29 PHP
php ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
深入解析php中的foreach函数
2013/08/31 PHP
PHP生成条形图的方法
2014/12/10 PHP
php实现微信支付之退款功能
2018/05/30 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
wordpress之js库集合研究介绍
2007/08/17 Javascript
IE 下的只读 innerHTML
2009/08/21 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
图片Slider 带左右按钮的js示例
2013/08/30 Javascript
javascript正则表达式之分组概念与用法实例
2016/06/16 Javascript
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
jQuery实现拼图小游戏(实例讲解)
2017/07/24 jQuery
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
nodejs高大上的部署方式(PM2)
2018/09/11 NodeJs
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
Python中正则表达式的用法实例汇总
2014/08/18 Python
python使用fork实现守护进程的方法
2017/11/16 Python
Python实现的knn算法示例
2018/06/14 Python
利用Python如何实现一个小说网站雏形
2018/11/23 Python
numpy:找到指定元素的索引示例
2019/11/26 Python
如何使用pandas读取txt文件中指定的列(有无标题)
2020/03/05 Python
python和JavaScript哪个容易上手
2020/06/23 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
基于html5 canvas做批改作业的小插件
2020/05/20 HTML / CSS
HTML5获取当前地理位置并在百度地图上展示的实例
2020/07/10 HTML / CSS
一篇.NET面试题
2014/09/29 面试题
派出所所长先进事迹
2014/05/19 职场文书
就业协议书怎么填
2014/09/15 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
离婚起诉状范本
2015/05/19 职场文书
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL