// 假定有两个功能块 A 和 B,未封装前代码
<template>
<div ref="BRef"></div>
</template>
<script setup lang="ts">
// A 功能区代码
// B 功能区代码
const BRef = ref();
const doClick = () => {
//可以正常获取
console.log(BRef.value);
}
</script>
//封装抽离功能块
<template>
<div ref="BRef"></div>
</template>
<script setup lang="ts">
// A 功能区代码
import { A 相关 } from './A'
import { BRef, doClick } from './B'
//B 功能区 js 代码
const BRef = ref();
const doClick = () => {
//此处找不到,为 undefined
console.log(BRef.value);
}
export { BRef, doClick }
现在改造必须在最外层重新赋值一下,才能获取,有没有更优雅的写法
<template>
<div ref="BRefCopy"></div>
</template>
<script setup lang="ts">
// A 功能区代码
import { A 相关 } from './A'
import { BRef, doClick } from './B'
const BRefCopy = BRef;
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.