一、说明

vue3中访问$refs绑定的组件的属性或者方法,我们会使用$refs。但是Vue3不同于Vue2,在 Vue3的setup中无法访问到this,使用getCurrentInstance方法

二、使用

<template>
    <div>

      <div>
        //ref="swipe"
        <van-swipe class="my-swipe" ref="swipe" width="100%">
          <van-swipe-item @click="toExhibitionPages">
            <div>
              <img src="./imgs/1.jpg" />
            </div>
          </van-swipe-item>
        </van-swipe>
      </div>

      <div @click="nextImg">
        <van-icon name="arrow" />
      </div>
       <div @click="preImg">
        <van-icon name="arrow-left" />
      </div>

    </div>
</template>

<script setup>

//引入getCurrentInstance方法
import { ref, toRefs, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();

//使用
function nextImg() {
  proxy.$refs.swipe.next();
}
function preImg() {
  proxy.$refs.swipe.prev();
}
</script>

二、效果

GitHub 加速计划 / vu / vue
109
19
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐