javascript - Vue (nuxt) 中的全局组件

标签 javascript ecmascript-6 vuejs2 nuxt.js

在构建 Vue 应用程序时,我们在每个模板中重复使用某些 Vue 组件。我们的网格系统存在于 .region、.layout、.grid、.column 元素之外。它们都是独立的 Vue 组件 (, ...)。

我们现在在每个模板中都这样做:

import BlMain from '~components/frame/main/Main.vue'
import BlRegion from '~components/frame/region/Region.vue'
import BlLayout from '~components/frame/layout/Layout.vue'
import BlGrid from '~components/frame/grid/Grid.vue'
import BlColumn from '~components/frame/column/Column.vue'

有没有办法在你的项目中全局导入 Vue 组件? 是否可以选择创建一个包含上述导入的组件 Frame.vue 并在每个模板中添加 Frame 组件? 其他 FE 框架如何解决这个问题?

我们正在使用 Nuxt JS在 Vue 上。

最佳答案

您应该使用注册该帐户的插件。

// plugins/bl-components.js

import Vue from 'vue'
import BlMain from '~components/frame/main/Main.vue'
import BlRegion from '~components/frame/region/Region.vue'
import BlLayout from '~components/frame/layout/Layout.vue'
import BlGrid from '~components/frame/grid/Grid.vue'
import BlColumn from '~components/frame/column/Column.vue'
    
const components = { BlMain, BlRegion, ... }
   
Object.entries(components).forEach(([name, component]) => {
    Vue.component(name, component)
})
// nuxt.config.js

export default {
    plugins: ['~plugins/bl-components']
}

关于javascript - Vue (nuxt) 中的全局组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43040692/

相关文章:

javascript - onMessageExternal.addListener 的回调可以是异步的吗?

javascript - 如何在MainApplication.java中获取环境变量 react native

javascript - Firestore onSnapshot() 方法多次触发

javascript - 尝试制作连续的 JavaScript slider

javascript - 在悬停时制作一个 div 覆盖链接

javascript - 将元素从一个对象添加/合并到数组内的另一个对象

javascript - 为什么 `this` 在 ES6 箭头函数中不起作用?

vue.js - VueJS 插槽 : Why child method passed in via slot from parent doesn't work?

javascript - Chart js : I'm getting the labels crossed on my pieChart and doughnut. 无法获取图表本身

javascript - 在 JavaScript 中采用灵活的参数?