我们知道注册全球Vue需要possible美元.js(版本1)组件动态如下:

Vue.component('my-component', MyComponent)

是否有办法对本地组件(即仅对特定组件可用/可见的组件)执行相同的操作?

我的 idea 是,我希望能够通过组件在本地注册,如下所示:

<outer-component
  :local-component-to-be-registered-dymanically="Foo"
>

所以在outer-component人中我可以做到:

created() {
    this.someMethodINeedToRegisterLocalComponent('cool-component', this.localComponentToBeRegisteredDynamically);
},

推荐答案

这是如何创建动态组件,而不是如何创建动态组件.在.vue个文件中,您只能注册一个组件,其他任何组件都需要在外部定义.

使用:is属性,您将能够实现您希望实现的目标.以下是docs人中的一个例子:

var vm = new Vue({
    el: '#example',
    data: {
        currentView: 'home'
    },
    components: {
        home: { /* ... */ },
        posts: { /* ... */ },
        archive: { /* ... */ }
    }
})
<component v-bind:is="currentView">
    <!-- component changes when vm.currentView changes! -->
</component>

将数据直接绑定到某个组件(而不是将某个组件作为指针):

var Home = {
    template: '<p>Welcome home!</p>'
}
var vm = new Vue({
    el: '#example',
    data: {
        currentView: Home
    }
})

Vue.js相关问答推荐

VueJS不会呈现一个名为None的组件""

可组合数据获取示例

我需要在 nuxt2 上使用 /index 作为 url 的一部分

vue js导航到带有问号的url

Vue:在表格中显示嵌套数据

实现登录命令并访问 vuex 存储

Vuelidate 判断true/false

Vue cli 3项目,图像路径中的动态src不起作用

如何获取 Vue 路由历史记录?

在 vue-router 中带有路由的 Vuejs2 模态

如何在不实例化根实例的情况下使用 vue 组件?

v-for 中的 VueJS 插槽

JavaScript/VueJS:判断数组是否包含具有特定值元素的对象

Vue devServer 代理没有帮助,我仍然收到 CORS 错误

使用props向组件添加类名

使用 Spring Boot(VueJS 和 Axios 前端)禁止发布 403 帖子

来自 Vue.js 的 ESLint 插件的消息中的LHS是什么意思?

使用 vuejs 设置响应式屏幕宽度

v-if 未在计算(computed)属性上触发

如果通过 jquery 更新,Vuejs 绑定不起作用