@passerelle/insider-vue v0.1.0
@passerelle/insider-vue
@passerelle/insider-vue is a Vue.js plugin that enables seamless integration of the passerelle library within Vue.js applications.
This plugin simplifies the integration of the passerelle Insider concept, allowing you to efficiently communicate with the passerelle Enclosure.
Passerelle Insider
The Insider is a core concept in the passerelle library, serving as the child-side plugin responsible for communication with the parent-side Enclosure component.
It facilitates the exchange of information between the parent and child components, including SPA transition data and other essential details.
Support
- Vue.js 2.7+ or 3.0+
- Vue-Router 3.6+ or 4.0+
Usage
@passerelle/insider-vue allows you to harness the power of the passerelle Insider within your Vue and Nuxt applications with minimal effort. Here's how you can get started:
1. Installation: Install @passerelle/insider-vue in your project using npm or yarn
npm install @passerelle/insider-vue2. Import: Import the plugin in your Vue application
e.g. If you are using Vue 3:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import { insider } from '@passerelle/insider-vue'
const app = createApp(App)
app.use(router)
app.use(insider, { router, key: 'passerelle-example', origin: '*' })
app.mount('#app')e.g. If you are using Vue 2:
import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App.vue'
import router from './router'
import { insider } from '@passerelle/insider-vue'
Vue.use(VueRouter)
Vue.use(insider, { router, key: 'passerelle-example', origin: '*' })
new Vue({
el: '#app',
router,
render: h => h(App)
})ex. Usage: You can use the insider component in your Vue application
e.g. If you are using the composition API:
<script setup>
import { useCommunicator } from '@passerelle/insider-vue'
const { hooks } = useCommunicator()
hooks.on('navigate', (path) => {
console.log('navigate', path)
})
</script>Api
Composable: useCommunicator
Get passerelle communicator.
Composable: sendData
Send data to enclosure.
Note: It is recommended not to send domain data.
key: The key of the data to be sent.data: The data to be sent.
import { sendData } from '@passerelle/insider-vue'
sendData('login-user', loginUser)Composable: onReceivedData
Receive data from enclosure.
key: The key of the data to be received.callback: The callback function to receive data from the enclosure.
import { onReceivedData } from '@passerelle/insider-vue'
onReceivedData('login-user', (data) => {
console.log('login-user', data)
})Composable: useFrameLayout
Get the frame layout.
The value also changes when the layout changes on the enclosure side.
When using an iframe, absolute position elements such as modals do not appear in the center when viewed from outside the iframe, so this composable is used to obtain information to address this issue.
enclosurewindow.. The window size of the enclosure.
insiderwindow.. The window size of the insider.offset.. The offset of the insider.
import { useFrameLayout } from '@passerelle/insider-vue'
const layout = useFrameLayout()Context: $passerelle
$passerelle is added to the Vue context, and you can access the Communicator from here.
<script>
import { defineComponent } from 'vue'
export default defineComponent({
computed: {
top(): number {
this.$passerelle.layout.insider.offset.top
}
}
})
</script>2 years ago