Preview
<Preview>
<Preview>
is a built-in component used to render production data. You can use it in a Vue component to see the actual effect of the module:
vue
<template>
<Preview id="ptah1" :schema="schemaData"></Preview>
</template>
<script>
import { defineComponent } from 'vue';
import { Preview } from '@ptahjs/creative-vue';
export default defineComponent({
components: {
Preview
},
setup() {
const schemaData = shallowRef({});
// Simulate API response data
setTimeout(() => {
schemaData.value = pageJson;
}, 5000);
return { schemaData };
}
});
</script>
usePtah
usePtah
is a hook function that takes id
, isProd
, and schema
as parameters and returns the instance corresponding to the id
. It is used to initialize and fetch preview data:
js
import { usePtah } from '@ptahjs/creative-vue';
const ptahInstance = usePtah({
id: 've1',
isProd: true,
schema: pageJson
});
Parameter Explanation
- id: The unique identifier of the module, used to distinguish between different module instances.
- isProd: A boolean value indicating whether the module is running in a production environment. If
true
, the module will be rendered in the production environment. - data: Page data (usually in JSON format), used to initialize the module's state and content.
Example
Here is a complete Vue component example that demonstrates how to use usePtah
and the <Preview>
component:
vue
<template>
<Preview :app="ptahInstance"></Preview>
</template>
<script>
import { defineComponent } from 'vue';
import { usePtah, Preview } from '@ptahjs/creative-vue';
export default defineComponent({
components: {
Preview
},
setup() {
const ptahInstance = usePtah({
id: 've1',
isProd: true,
schema: pageJson
});
return { ptahInstance };
}
});
</script>
This example shows how to use usePtah
in combination with the <Preview>
component to achieve module preview functionality.