【小程序】使用uni-app搭建小程序环境---基础组件的自动化全局注册 ******

功能: 想实现自动化全局注册组件

const componentsContext = require.context('./components', true, /Base[A-Z]\w+\.(vue|js)$/);
console.log('????',componentsContext,componentsContext.keys());
componentsContext.keys().forEach(component => {
    // 获取文件中的 default 模块
    const componentConfig = componentsContext(component).default;
    console.log(componentsContext(component).default);
    Vue.component(componentConfig.name, componentConfig)
})

报错:

 

结果:未解决

原因:为了编译至各平台,编译器是静态分析代码,扫描组件来编译,所以不支持动态注册,短期内应该不会支持动态组件注册

全局组件

uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。

注意

  • Vue.component 的第一个参数必须是静态的字符串。
  • nvue页面暂不支持全局组件

示例

main.js 里进行全局导入和注册

import Vue from 'vue'
import pageHead from './components/page-head.vue'
Vue.component('page-head',pageHead)

index.vue 里可直接使用组件

<template>
  <view>
    <page-head></page-head>
    </view>
</template>

相关资料:

猜你喜欢

转载自www.cnblogs.com/websmile/p/11612696.html