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 图片预览效果 推荐
Dec 22 Javascript
js中关于new Object时传参的一些细节分析
Mar 13 Javascript
编程语言JavaScript简介
Oct 16 Javascript
JavaScript截取指定长度字符串点击可以展开全部代码
Dec 04 Javascript
15个常用的jquery代码片段
Dec 19 Javascript
JS中如何比较两个Json对象是否相等实例代码
Jul 13 Javascript
jQuery layui常用方法介绍
Jul 25 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
利用nvm管理多个版本的node.js与npm详解
Nov 02 Javascript
Angular2+如何去除url中的#号详解
Dec 20 Javascript
如何在基于vue-cli的项目自定义打包环境
Nov 10 Javascript
element-ui多文件上传的实现示例
Apr 10 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语言的7种基本的排序方法
2020/12/28 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
2013/10/17 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
搭建pomelo 开发环境
2014/06/24 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
只要1K 纯JS脚本送你一朵3D红色玫瑰
2016/08/09 Javascript
JavaScript实现单例模式实例分享
2017/12/22 Javascript
使用命令行工具npm新创建一个vue项目的方法
2017/12/27 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
从零学Python之入门(二)基本数据类型
2014/05/25 Python
在Python中使用全局日志时需要注意的问题
2015/05/06 Python
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Django后端发送小程序微信模板消息示例(服务通知)
2019/12/17 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
模具专业推荐信
2013/10/30 职场文书
学期自我评价
2014/01/27 职场文书
计算机网络工程专业职业生涯规划书
2014/03/10 职场文书
购房协议书范本
2014/04/11 职场文书
节约用水标语
2014/06/11 职场文书
论文答谢词
2015/01/20 职场文书
鲁冰花观后感
2015/06/10 职场文书
JavaScript 与 TypeScript之间的联系
2021/11/27 Javascript