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 相关文章推荐
wordpress之js库集合研究介绍
Aug 17 Javascript
JavaScript EasyPager 分页函数
May 25 Javascript
js判断是否为数组的函数: isArray()
Oct 30 Javascript
javascript检测浏览器的缩放状态实现代码
Sep 28 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
jquery专业的导航菜单特效代码分享
Aug 29 Javascript
jQuery中DOM节点删除之empty与remove
Jan 20 Javascript
简单谈谈axios中的get,post方法
Jun 25 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
vue项目中实现的微信分享功能示例
Jan 21 Javascript
Javascript中的this,bind和that使用实例
Dec 05 Javascript
JS判断数组是否包含某元素实现方法汇总
Jun 24 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 之Section与Cookie使用总结
2012/09/14 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
JavaScript 创建对象
2009/07/17 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
javascript 日期时间 转换的方法
2013/02/21 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
jquery自动切换tabs选项卡的具体实现
2013/12/24 Javascript
js动态删除div元素基本思路及实现代码
2014/05/08 Javascript
绑定回车enter事件代码
2014/05/18 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
javascript十六进制数字和ASCII字符之间的转换方法
2016/12/27 Javascript
JS实现HTML页面中动态显示当前时间完整示例
2018/07/30 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
用Cordova打包Vue项目的方法步骤
2019/02/02 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
js实现贪吃蛇小游戏
2019/10/29 Javascript
Python多线程、异步+多进程爬虫实现代码
2016/02/17 Python
Python网络编程中urllib2模块的用法总结
2016/07/12 Python
python绘制多个曲线的折线图
2020/03/23 Python
详解python内置模块urllib
2020/09/09 Python
世界上最伟大的马产品:Equiderma
2020/01/07 全球购物
小学家长评语大全
2014/04/16 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
实习单位鉴定评语
2014/04/26 职场文书
兴趣小组活动总结
2014/05/05 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
作息时间调整通知
2015/04/22 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
网吧温馨提示
2015/07/17 职场文书
联村联户简报
2015/07/21 职场文书
CSS3常见动画的实现方式
2021/04/14 HTML / CSS
Python下opencv库的安装过程及问题汇总
2021/06/11 Python
Java使用jmeter进行压力测试
2021/07/09 Java/Android