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将数据库中的TEXT类型数据动态赋值到TEXTAREA中
Apr 20 Javascript
总结AJAX相关JS代码片段和浏览器模型
Aug 15 Javascript
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
Feb 27 Javascript
AngularJS学习笔记之ng-options指令
Jun 16 Javascript
JavaScript AOP编程实例
Jun 16 Javascript
js表单中选择框值的获取及表单的序列化
Dec 17 Javascript
angular+ionic 的app上拉加载更新数据实现方法
Jan 16 Javascript
微信小程序的分类页面制作
Jun 27 Javascript
Vuex实现计数器以及列表展示效果
Mar 10 Javascript
详解vue-router导航守卫
Jan 19 Javascript
原生JS实现九宫格抽奖
Sep 13 Javascript
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 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
信用卡效验程序
2006/10/09 PHP
php echo()和print()、require()和include()函数区别说明
2010/03/27 PHP
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
PHP中的异常处理机制深入讲解
2020/11/10 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
setTimeout和setInterval的浏览器兼容性分析
2007/02/27 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
js加强的经典分页实例
2013/03/15 Javascript
jquery鼠标滑过提示title具体实现代码
2013/08/06 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
《JavaScript函数式编程》读后感
2015/08/07 Javascript
AngularJs 利用百度地图API 定位当前位置 获取地址信息
2017/01/18 Javascript
angular4自定义组件详解
2017/09/28 Javascript
vue.js自定义组件directives的实例代码
2018/11/09 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
vue2.0 watch里面的 deep和immediate用法说明
2020/10/30 Javascript
TensorFlow的权值更新方法
2018/06/14 Python
基于python实现聊天室程序
2018/07/27 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
美国名牌香水折扣网站:Hottperfume
2021/02/10 全球购物
在校生党员自我评价
2013/09/25 职场文书
建筑自我鉴定
2013/10/19 职场文书
高三自我评价
2014/02/01 职场文书
家长对老师的感言
2014/03/11 职场文书
就业协议书范本
2014/04/11 职场文书
美术学专业求职信
2014/07/23 职场文书
党委班子对照检查材料
2014/08/19 职场文书
地陪导游欢迎词
2015/01/26 职场文书
房地产销售经理岗位职责
2015/02/02 职场文书
2021年最新用于图像处理的Python库总结
2021/06/15 Python
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python