VUE用JS添加组件

时间:2019-06-01 15:55:25

标签: vue.js vuejs2

我可以在满载的页面中创建/挂载调用JS函数的VUE组件吗?

作为异步呼叫?像这样:

function getComponent(obj){
    return <component parameters="obj"></component >;
}

2 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是Vue dynamic components。允许您选择在加载原始组件之后加载哪个组件。您可以随时随地以异步方式进行操作。您可以在Vue guides中阅读更多内容。您需要的所有代码都在那里,因此不再在此处重新发布。

答案 1 :(得分:0)

我可以在满载的页面中创建/挂载调用JS函数的VUE组件吗?

我认为您想在某种条件下而不是在页面初始化时加载/安装组件。

在这种情况下,您可以利用延迟加载和动态组件:

<template>
  //...
    <button @click="activateComponent">Activate component</button>
    <component :is="dynamicComponent" />
  //...
</template>


<script>  
  export default {
     components: {
        MyCmp: () => import('./MyCmp.vue') //lazy loading
     },

     data: () => ({
      dynamicComponent: null       
     }),

     methods: {
       activateComponent () {
         this.dynamicComponent = 'MyCmp'
       }
     }     
  }
</script>