Vue Integration
Category: Get StartedThis framework can be integrated via the `use()` method before `mount`, and can be used within the `mounted` lifecycle hook.
Introduction
This framework can be integrated via the use()
method before mount
, as shown below:
//Prerequisite: Vue and orca files have been imported
//Install orca framework using use method
const app = createApp(Vue);
app.use(orca);
//Other Vue logic
Basic Usage
After Vue.createApp
, you can use use(orca)
to import the entire framework.
- Output
- HTML
- JS
-
-
-
let v = Vue.createApp({ data() { return { message: "Hello Vue 3!", }; }, mounted() { demo01.onclick=()=>{ console.log(this.$orca); confirm(`OrcaUI has been imported`); } } }); //Import orca v.use(orca); v.mount("#app01");
Configuration Override
The orca.config
property is used to configure framework parameters, including global parameters and default parameters for various templates. After importing Vue
, you can override the original orca.config
parameters using the 2nd parameter of the use
method.
Since most OrcaUI modules require a DOM
host (virtual DOM is also acceptable), OrcaUI related code is typically used in the mounted
method, while creating template text or asynchronous usage is unrestricted.
- Output
- HTML
- JS
-
-
-
let v = Vue.createApp({ data() { return { message: "Hello Vue 3!", }; }, mounted() { demo02.onclick=()=>{ console.log(this.$orca); new this.$orca.Message({ content:'OrcaUI has been imported, default Message theme color changed', }).show(); //Normal usage without use: new orca.Message({...}).show(); } } }); //Import orca and change default Message theme color v.use(orca,{message:{status:'error'}}); v.mount("#app02");
Automatic Initialization
This framework contains many WebComponents - even modules that were originally Module-based have been encapsulated as WebComponents. WebComponents can initialize automatically and can be used like regular HTML nodes, which Vue fully supports.
- Output
- HTML
- JS
-
-
-
let v = Vue.createApp({ setup() { const testAlert = () => { alert('Clicked OrcaUI button'); }; const elem = Vue.ref(null); //Executed after template parsing and node mounting Vue.onMounted(() => { //elem.value equals oc-btn node elem.value.onmouseover = function(){ this.setAttribute('theme','error') } elem.value.onmouseout = function(){ this.setAttribute('theme','prim') } }); //Expose variables return {elem,testAlert}; }, template: ` <div> <h1>Hello, Vue 3!</h1> <p><oc-btn theme='prim' label='OrcaUI Button' icon='_icon-global' @click="testAlert" ref="elem"></oc-btn></p> </div> `, }); v.mount("#app03");