资讯专栏INFORMATION COLUMN

Vue自定义全局组件制作方法

qylost / 3293人阅读

摘要:查阅资料后发现,自定义的组件需要提供一个方法提供可选的组件名像这样引入自己编写好的组件,然后创建一个对象,并包含一个方法,并使用方法注册成全局组件,最后导出这个对象。

今天解决了一个长期困扰着我的问题,现在记录一下,供日后参考。

涉及知识点是Vue.js官网教程中的插件使用

首先我遇到的问题就是我自定义的组件如果需要在项目中其他组件中多次被调用,而我之前的解决方法就是简单的,哪里需要在哪引用。这无疑增加了许多代码重复。

而在使用Vue.js的一些UI框架的时候则注意到,只需要在项目的入口文件中import这个插件然后在接着Vue.use(‘插件名’)。这样就能在整个项目里面使用这个框架中的组件以及方法了。

查阅资料后发现,自定义的组件需要提供一个install方法

import sideblockComponent from "./sideBlock"
const defaultComponentName = "sidebar"

const Sidebar = {
    install(Vue, options = {}) {
        const componentName = options.componentName || defaultComponentName //提供可选的组件名
        Vue.component(componentName, sideblockComponent)
    }
}

export default Sidebar

像这样 引入自己编写好的组件,然后创建一个对象,并包含一个install方法,并使用Vue.component()方法注册成Vue全局组件,最后export default导出这个对象。

到此最关键的步骤已经做好,接下来是最最关键的步骤。

我们需要在项目的入口文件中引入刚刚做好的组件,并且通过Vue.use(引入的组件)来使用插件。
到此,一个全局Vue组件就弄好了。我们在提供install方法的同时也可以通过Vue.$emit()的方法来触发组件中的方法,但最近在使用Element UI时发现他们组件中的方法一般都是通过Vue.$refs()来触发的。具体原因留到日后再做研究。

本文同步自我的博客

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/90250.html

相关文章

  • Vue 混合、定义指令、插件

    摘要:当组件和混合对象含有同名选项时,这些选项将以恰当的方式混合自定义指令除了默认设置的核心指令和也允许注册自定义指令。 vue的复用性与组合 混合 混合 (mixins) 是一种分发 Vue 组件中可复用功能的非常灵活的方式。混合对象可以包含任意组件选项。以组件使用混合对象时,所有混合对象的选项将被混入该组件本身的选项。 当组件和混合对象含有同名选项时,这些选项将以恰当的方式混合 ...

    whlong 评论0 收藏0
  • vue 项目总结一组件开发的配置和例子

    摘要:入口文件,影响全局,作用是引入全局使用的库公共的样式和方法设置路由等。项目里总会有一些复用的组件,例如弹出框发送手机验证码图片上传等,将它们作为通用组件,避免重复工作结构如下可以根据功能模块建立文件夹,放置本功能会用到的通用组件。 上一篇文章 https://segmentfault.com/a/11... 介绍了项目里文件夹的分类和作用,这次主要说明 src 文件夹里具体的文件分类和...

    melody_lql 评论0 收藏0
  • vue 项目总结一组件开发的配置和例子

    摘要:入口文件,影响全局,作用是引入全局使用的库公共的样式和方法设置路由等。项目里总会有一些复用的组件,例如弹出框发送手机验证码图片上传等,将它们作为通用组件,避免重复工作结构如下可以根据功能模块建立文件夹,放置本功能会用到的通用组件。 上一篇文章 https://segmentfault.com/a/11... 介绍了项目里文件夹的分类和作用,这次主要说明 src 文件夹里具体的文件分类和...

    isaced 评论0 收藏0
  • 浅谈Vue 中的组件

    摘要:浅谈中的组件一初识组件组件是最强大的功能之一。组件可以扩展元素,封装可重用的代码。例子我是组件我要把中的数据传给我是组件中央事件总线我是用来接收从传过来的数据我是中的数据我是根组件的数据 浅谈 vue 中的组件 一 、初识组件 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。 1、定义组件 Vue自定义组件分为两种:全局...

    ls0609 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<