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----文件操作
Jan 18 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
Aug 18 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
Nov 30 Javascript
Javascript农历与公历相互转换的简单实例
Oct 09 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
Bootstrap提示框效果的实例代码
Jul 12 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
Apr 01 Javascript
Vue源码探究之虚拟节点的实现
Apr 17 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
Vue实现按钮级权限方案
Nov 21 Javascript
如何在selenium中使用js实现定位
Aug 18 Javascript
jQuery+ajax实现文件上传功能
Dec 22 jQuery
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/01 无线电
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
Yii框架实现图片上传的方法详解
2017/05/20 PHP
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
jquery模拟实现鼠标指针停止运动事件
2016/01/12 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
解决Vue 刷新页面导航显示高亮位置不对问题
2019/12/25 Javascript
vue radio单选框,获取当前项(每一项)的value值操作
2020/09/10 Javascript
python使用in操作符时元组和数组的区别分析
2015/05/19 Python
python3使用urllib模块制作网络爬虫
2016/04/08 Python
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
python os用法总结
2018/06/08 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
初学者学习Python好还是Java好
2020/05/26 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
Python爬虫爬取微信朋友圈
2020/08/06 Python
python 怎样进行内存管理
2020/11/10 Python
用ldap作为django后端用户登录验证的实现
2020/12/07 Python
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
教师评优事迹材料
2014/01/10 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
2014年学校团委工作总结
2014/12/20 职场文书
计生个人工作总结
2015/02/28 职场文书
评职称个人总结
2015/03/05 职场文书
PHP遍历数组的6种方式总结
2021/11/17 PHP
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python
vue组件冲突之引用另一个组件出现组件不显示的问题
2022/04/13 Vue.js