在vue3的setup script中,有什么办法手动指定暴露给template的属性?

2023-03-30 0 2,725

如果是用setup方法,可以用return对象的方式,把这个对象的属性暴露给template

<script lang="ts">
import HelloWorld from './components/HelloWorld.vue'
import { reactive } from 'vue';

export default {
  components: { HelloWorld },
  setup() {
    const self = reactive({
      msg: "You did it!"
    })

    return self
  }
}
</script>
<template>
  <header>
    <div class="wrapper">
      <HelloWorld :msg="msg" />
    </div>
  </header>
</template>

但是用了setup script,默认就是自动将所有临时变量作为属性暴露给template

<script lang="ts" setup>
import HelloWorld from './components/HelloWorld.vue'
import { reactive } from 'vue';

const self = reactive({
  msg: "You did it!"
})

// 怎么操作self才能把self的msg属性暴露给template?
</script>
<template>
  <header>
    <div class="wrapper">
      <!-- 只能指定self这个属性 -->
      <HelloWorld :msg="self.msg" />
    </div>
  </header>
</template>

如果在setup script中都用临时变量呢,所有属性都要ref,然后在script中使用的时候msg.value。看起来和用起来都非常的难受。而用export options的方式呢,又要重复写一次子组件,也非常难受。
就没有同时拥有两者优点的方式吗?

可以通过解构把msg直接暴露给模版

const {msg}=toRefs(self)

要注意的时,必须通过toRefs,不然直接解构,msg会失去响应性

在vue3的setup script中,有什么办法手动指定暴露给template的属性?
收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 在vue3的setup script中,有什么办法手动指定暴露给template的属性? https://www.jkxiazai.com/1087.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务