网站首页 > 精选文章 正文
vue组件注册
1,组件名
推荐使用w3c规范中的自定义组件名(字母全小写,并且含有一个连字符-)
使用 kebab-case,例如,<my-component-name>
使用 PascalCase,例如,<MyComponentName>
2,全局注册
使用vue.component进行注册,这里的注册指的是全局注册。
在vue中,使用组件的具体步骤为:
组件注册(vue.component ),新建vue实例(new Vue() ),就可以在具体的div中进行使用组件。
3,局部注册
局部注册需要使用JavaScript对象来定义组件:
var ComponentA = { /* ... */ }
var ComponentB = { /* ... */ }
var ComponentC = { /* ... */ }
然后在new vue实例中,在里面的components部分进行定义想要使用的组件:
new Vue({ el: '#app', components: {
'component-a': ComponentA, 'component-b': ComponentB } })
如果想要B组件能够在A组件中使用,可以如下定义:
var ComponentA = { /* ... */ }
var ComponentB = { components: { 'component-a': ComponentA }, // ... }
4,模块系统
可以通过import,require使用一个系统
5,在模块系统中进行局部注册
如果使用了webpack或者Babel模块系统,可以创建一个components目录,将每个组件放在其各自的文件中。
在局部注册时,提前将组件导入,在一个ComponentB.js或者ComponentB.vue组件中进行设置,如代码所示:
import ComponentA from './ComponentA'
import ComponentC from './ComponentC'
export default { components: { ComponentA, ComponentC }, // ... }
基础组件的自动化全局注册:
可以使用webpack(或使用webpack的vue cli3+)的require.context只注册这些通用的基础组件,比如在src/main.js中全局导入基础组件:
import Vue from 'vue'
import upperFirst from 'lodash/upperFirst'
import camelCase from 'lodash/camelCase'
const requireComponent = require.context(
// 其组件目录的相对路径 './components',
// 是否查询其子目录 false,
// 匹配基础组件文件名的正则表达式 /Base[A-Z]\w+\.(vue|js)$/ ) requireComponent.keys().forEach(fileName=> {
// 获取组件配置 const componentConfig = requireComponent(fileName)
// 获取组件的 PascalCase 命名 const componentName = upperFirst( camelCase(
// 获取和目录深度无关的文件名 fileName .split('/') .pop() .replace(/\.\w+$/, '') ) )
// 全局注册组件 Vue.component( componentName,
// 如果这个组件选项是通过 `export default` 导出的,
// 那么就会优先使用 `.default`,
// 否则回退到使用模块的根。
componentConfig.default || componentConfig ) })
- 上一篇: 我常用的几个 VueUse 最佳组合,推荐给你们
- 下一篇: vue下载excel文件方法
猜你喜欢
- 2025-05-27 vue3安装在线构建ckeditor5教程
- 2025-05-27 使用vue3和go搭建网站(附源码)
- 2025-05-27 「干货」Vue+Element前端导入导出Excel
- 2025-05-27 好的项目,万物皆可打包,我将Vue项目打包成客户端(模拟钉钉)
- 2025-05-27 vue下载excel文件方法
- 2025-05-27 我常用的几个 VueUse 最佳组合,推荐给你们
- 2025-05-27 Vue开发环境搭建
- 2025-05-27 基于 Vue 超漂亮Toast提示组件Vue-Toastification
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)