当前位置: 首页 > 知识库问答 >
问题:

vue3中setup如何同时返回render函数和向外部暴露某些数据?

漆雕伟志
2023-07-24

组件如下:

<script>import { defineComponent, h, reactive, ref } from 'vue'export default defineComponent({  name: 'TestSetup',  setup() {    // 仅在render中使用,不暴露给外部    let onlyUsedByRender = ref(false)    // 自己、外部都用    const publicValue = reactive({ title: '你好' })    return () => h('div', [      h('span', [publicValue.title]),      h('span', [onlyUsedByRender.value ? 'yes' : 'no'])    ])  },  /*setup() {    // 仅在render中使用,不暴露给外部    let onlyUsedByRender = ref(false)    // 自己、外部都用    const publicValue = reactive({ title: '你好' })    return {      publicValue,      onlyUsedByRender    }  },  render() {    return () => h('div', [      h('span', [this.publicValue.title]),      h('span', [this.onlyUsedByRender.value ? 'yes' : 'no'])    ])  }*/})</script>

我要怎么样做到onlyUsedByRender能在render中用又不暴露给外部,不使用setup语法糖、不把需要暴露的变量挂在getCurrentInstance().proxy

共有1个答案

索吕恭
2023-07-24
import { defineComponent, h, reactive, ref } from 'vue'export default defineComponent({  name: 'TestSetup',  setup() {    // 仅在render中使用,不暴露给外部    let onlyUsedByRender = ref(false)    // 自己、外部都用    const publicValue = reactive({ title: '你好' })    // 返回一个对象,包含暴露的数据和渲染函数    return {      publicValue, // 暴露给外部的数据      render: () => h('div', [ // 渲染函数        h('span', [publicValue.title]),        h('span', [onlyUsedByRender.value ? 'yes' : 'no'])      ])    }  }})
 类似资料:
  • 我刚刚开始学习React和JavaScript。在我阅读了留档和教程之后,我看了一下示例项目,并试图整理我还没有得到的内容。 然后我看到有一些函数是在函数内部定义的,还有一些函数是在函数外部定义的。 例如,在之外: 和内部render()。。。 为什么它们看起来如此不同,为什么你想在内部和外部有一些函数? 编辑: 之外的函数的另一个示例: EDIT2:在另一个线程中,有人回答说,如果函数背后的逻辑

  • 我有一个kubernetes文件,如下所示: 如果我想将其公开给外界流量,因为假设我的应用程序在端口上使用prometheus公开应用程序指标...如何向外界公开该端口? 我的应用程序有以下两行代码启动需要公开的http服务器: 那是普罗米修斯服务器

  • 我有一个通知组件,我有一个超时设置。超时后,我调用。 我想做的是,如果已经超时,我想只呈现任何内容: 问题是: 返回();//这里有一些语法错误

  • 随着在线应用程序日复一日地涌入互联网,并非所有应用程序都受到保护。许多Web应用程序无法正确保护敏感用户数据,如信用卡信息/银行帐户信息/身份验证凭据。黑客可能最终窃取这些受到弱保护的数据,以进行信用卡欺诈,身份盗窃或其他犯罪。 下面我们来了解这个漏洞的威胁代理,攻击向量,安全弱点,技术影响和业务影响。 威胁代理 - 谁可以访问您的敏感数据和任何数据备份。有外部和内部威胁。 攻击者的方法 - 做中

  • 3.3. 数据的暴露 关于数据库,另外需要关心的一点是敏感数据的暴露。不管你是否保存了信用卡号,社会保险号,或其它数据,你还是希望确认数据库是安全的。 虽然数据库安全已经超出了本书所讨论的范围(也不是PHP开发者要负责的),但是你可以加密最敏感的数据,这样只要密钥不泄露,数据库的安全问题就不会造成灾难性的后果。(关于加密的详细介绍参见本书附录C) 要看图的话,请至技术文档区下载原版chm http

  • 问题内容: 我有一个带有很多列的oracle数据库表,我在上面运行一些查询。 我不完全知道我要在查询中查找什么数据,因此我想返回所有列,但是我不想寻找我认为有意义的列。 问题 假设一个表(表1)包含 A列,B列,C列… Z列 - 有没有一种方法可以说“选择C列,J列,F列,Q列,然后选择表1中的其余列”? 我尝试过的事情 与伪sql保持一致,运行: 从表1中选择C列,J列,F列,Table1。*