@passerelle/insider-vue
v0.1.0
Published
passerelle insider module for vue2 or vue3
Downloads
1
Readme
@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-vue
2. 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.
enclosure
window
.. The window size of the enclosure.
insider
window
.. 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>