当前位置:首页 > 技术文章 > 正文内容

vue组件的注册(vue组件注册和引用)

zonemu2个月前 (07-28)技术文章32

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 ) })

相关文章

(一)熟练HTML5+CSS3,每天复习一遍

前言学习网页的概念和分类,了解静态网页和动态网页的不同;了解网页浏览器的工作原理。了解HTML,XHTML,HTML5的概念,制作简单的HTML页面的开发。什么是网页可以在internet上通过网页浏...

HTML5设计与制作哪家强?全省50多所高职院校齐聚中山比拼

3月22日下午,2018-2019年广东省职业院校学生专业技能大赛“HTML5交互融媒体内容设计与制作”赛项在中山火炬职业技术学院开幕。全省51所高职院校的52支参赛队伍参加此次大赛。参赛师生将于3月...

js中数组filter方法的使用和实现(js实现数组的indexof方法)

定义filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。语法var newArray = arr.filter(callback(element[, index[, se...

不产生新的数组,删除数组里的重复元素

数组去重的方式有很多,我们可以使用 Set 去重、filter 过滤等,详见 携程&蘑菇街&bilibili:手写数组去重、扁平化函数 ,但三种解法(Set、filter、reduce...

WordPress 内置的数组处理相关函数大全

我们使用 WordPress 开发的时候,有很大一部分的工作和数组处理有关,WordPress 本身也内置了一些非常方便的数组处理函数,今天给大家罗列一下,也方便自己以后写代码的时候查询。wp_par...

PHP高级编程-回归原生态-函数式编程与数组

4.2.4 函数式编程与数组在函数式编程的世界里,针对集合的操作有三大类,分别是:映射、过滤和归约。虽然PHP是一门解释性脚本语言,并且支持面向过程编程和面向对象编程,但与函数式编程还是有很大区别的。...