Vue3可与render组合

v8wbuo2f  于 2023-06-24  发布在  Vue.js
关注(0)|答案(2)|浏览(150)

有没有可能创建一个使用render函数的可组合函数,这样它就可以显示一些东西?
示例:

import { h } from 'vue'

export function useErrorHandling() {
  return {
    render() {
        return h('div', { class: 'bar', innerHTML: 'world!' })      
    }
  }
}
<script setup>
import { useErrorHandling } from './mouse.js'

 useErrorHandling()
</script>

<template>
 hello
</template>

以上述例子为例

lndjwyie

lndjwyie1#

是的,可以这样做,你只需要将组合对象返回的值存储在一个变量中,并将其用作组件

const err =  useErrorHandling()
//in template 
// <err />

Playground示例

kzipqqlq

kzipqqlq2#

createApp和mount可以帮助您。

function HelloWorld({ fontSize }) {
  return h(
    'div',
    {
      style: {
        color: 'red',
        fontSize,
      },
    },
    'Hello World'
  )
}
const app2 = createApp(HelloWorld, {
  fontSize: '30px',
})
app2.mount('#app-2') // pass selector you want to mount

相关问题