Skip to content

Guide

Install

bash
$ pnpm install vue-funcall
bash
$ yarn install vue-funcall
bash
$ npm install vue-funcall

Usage

Basic Usage

Pass it to the app as a plugin, make component mount on Vue instance.

Details

This step can be ignored if you ensure that Vue context data will not be used in component

ts
import { createApp } from 'vue'
import { VueFuncallPlugin } from 'vue-funcall'
import App from './App.vue'

const app = createApp(App)
app.use(VueFuncallPlugin) 
app.mount('#app')

Use it in any scenario you wish to use

ts
import { createFuncall } from 'vue-funcall'

createFuncall(Component, props, options)

Outside close

vue-funcall export close function for user

ts
import { createFuncall } from 'vue-funcall'

cont { close } = createFuncall(Component, props)

close()

Async return result

It is not the capability that the library needs to support, but if you want to implement that functionality through the library, it's a demo

ts
import { createFuncall } from 'vue-funcall'

const asyncCall = () => {
  return new Promise((resolve, reject) => {
    createFuncall(Component, {
      onSucceed: (result) => resolve(result),
      onFailed: (result) => reject(result)
    })
  })
}

API

ts
const { close } = createFuncall(Component, props, options)

Parameters

NameDescription
ComponentComponent that need be function called
propsComponent support props
optionsan object of options for createFuncall

Return Values

NameDescription
closea function that unmount Component

Options

NameDescriptionTypeDefault
visibleInternal field of Component to control Component display or not, If Component are not similiar field, define undefinedstring | undefinedmodelValue
onClosedInternal field of Component to listen Component closed, If Component are not similiar field, define undefinedstring | undefinedundefined
containerDefine component mount node, default is document.bodyHTMLElement | undefineddocument.body
appContextFor support multiple vue instanceAppContext-

Released under the MIT License.