首页 > 其他分享 >Vue "引用式"调用组件内函数

Vue "引用式"调用组件内函数

时间:2023-05-08 18:11:06浏览次数:40  
标签:Vue 函数 ttable value 调用 组件 ref getStatistic

场景

希望在点击页面上的某个 button 时, 刷新某个组件的内容.

组件内容刷新函数 getStatistic() 在组件<Table/>内, 当点击 "统计" 按钮时, 页面 Block 切换至统计页面, 同时调用对应组件中的 getStatistic() 函数, 更新数据.

解决方案

// 创建一个 ref 对象, 接受 <Table/> 组件
const ttable = ref(null)

// "统计"按钮的 onclick 函数
const switchToStatic = () => {
  state.showBlock = 3
  if(ttable.value){
    ttable.value.getStatistic();
  }
}
<div v-if="state.showBlock == 3">
  <Table ref="ttable"/>
</div>

ref 是一个内置的特殊 Attributes , 用于注册元素或子组件的引用。获取组件引用后, 就可以使用组件暴露出来的方法.

使用选项式 API,引用将被注册在组件的 this.$refs 对象里:

因为 ref 本身是作为渲染函数的结果来创建的,必须等待组件挂载后才能对它进行访问。所以判断 if(ttable.value){...}

这个场景应该有更简单的实现方法, 说白了就是调用子组件的函数.

标签:Vue,函数,ttable,value,调用,组件,ref,getStatistic
From: https://www.cnblogs.com/livebz/p/17382724.html

相关文章

  • 记录--极致舒适的Vue页面保活方案
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助为了让页面保活更加稳定,你们是怎么做的?我用一行配置实现了Vue页面保活是指在用户离开当前页面后,可以在返回时恢复上一次浏览页面的状态。这种技术可以让用户享受更加流畅自然的浏览体验,而不会被繁琐的操作打扰......
  • 第六节:受控 、高阶组件、portals、fragment、严格模式、动画
    一.受控组件       二.高阶组件       三.portals      四.fragment        五.严格模式        六.动画         !作       者:Yaopengfei(姚鹏飞)博客地......
  • vue3 多级数据下拉选择组件
    若依的下拉组件太复杂,我改了一下,希望对大家有帮助,基于element-plusel-tree-select组件:举个栗子,TreeSelect.vue:<template><div><el-tree-selectstyle="width:100%"v-model="valueId"id="tree-option"ref="s......
  • vue3 通过fuse.js 实现前端模糊查询
    在项目中写好多个查询组件,基于element-plusel-select组件:举个栗子,SelectAllCompany.vue:<template><!--获取客户下拉数据,type0有限公司--><el-selectv-model="current":multiple="multiple"remote:remote-method="querySearch":suff......
  • vue2自定义组件@click点击失效问题及解决
    1.参照官方文档,可以用@click.native=“click”解决2.$emit组件之间事件传递解决https://www.jb51.net/article/246610.htm......
  • 若依--图片预览组件
    若依的图片预览组件,很实用,放在这里:<template><el-image:src="`${realSrc}`"fit="cover":style="`width:${realWidth};height:${realHeight};`":preview-src-list="realSrcList":preview-teleported="t......
  • vue3 证件识别上传组件封装
    证件图片识别上传根据业务需要,经常涉及到证件上传,例如身份证上传、银行卡、营业执照等信息,根据设计师的设计,单独封装了一个上传组件。识别接口后端用的是阿里云的。上传组件用的是element-plusel-upload上代码:<template><divclass="component-upload-image"><el-up......
  • 直播开发app,VUE图片裁剪,打码,旋转功能
    直播开发app,VUE图片裁剪,打码,旋转功能1,先下载插件。 cnpminstallimage-mosaic-D   cnpminstall--savevue-cropper  ​2,在components目录下创建一个imageEdit文件夹,文件夹下创建index.vue,index.vue中内容如下:  <template> <div>  <el-dialog   t......
  • Django-Vue-Admin基于django+vue前后端分离开箱即用框架
    平台简介......
  • 若依--字典标签组件完善
    由于若依是基于element,但是在实际业务中,往往会出现标签不够用的情况,数据标签回显样式只有一下六种://数据标签回显样式constlistClassOptions=ref([{value:"default",label:"默认"},{value:"primary",label:"主要"},{value:"success",label:&qu......