iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >解读Vue组件注册方式
  • 803
分享到

解读Vue组件注册方式

2024-04-02 19:04:59 803人浏览 独家记忆
摘要

目录概述1 、全局注册2 、局部注册3 、模块系统中局部注册概述 组件化的概念让前端页面开发有了更清晰的结构。 Vue 中的组件就是一个 Vue 的实例对象。因此,Vue 组件的构造

概述

组件化的概念让前端页面开发有了更清晰的结构。

Vue 中的组件就是一个 Vue 的实例对象。因此,Vue 组件的构造选项和 new Vue() 方法构造 Vue 实例的构造选项是一样的,其可接收的构造选项都是一样的。除了 el 这样 根实例 特有的选项。但是,Vue 组件必须得是可以复用的,因此,就必须要求构造选项中的 data 选项必须是一个函数,该函数返回一个对象。

为什么 data 选项是个返回对象的函数就可以保证组件的可复用性呢?

因为无论是 new Vue() 的方式还是定义 Vue组件 的方式创建一个 Vue 实例,其执行的操作都是将构造选项中的各属性值直接赋值给新创建的 Vue 实例对象。组件复用就是 Vue 使用 相同的构造选项 构造出多个同名不同地址的 Vue 实例对象。如果 Vue 组件定义时的构造选项中的 data 选项是一个对象,那么在组件复用时,多个组件就会共用一个 data 数据对象,因为是直接将 data 对象的地址赋值给组件的 Vue 实例的。但如果组件定义时的 data 选项是一个函数的话,那么 Vue 根据构造选项创建组件时会执行该函数从而得到一个对象。这样一来,每次创建 Vue 实例时的 data 对象都是重新生成的,因此,多个组件都有各自的 data 数据对象,不会相互影响。

实际上,在组件注册时是在定义组件的构造选项,在组件使用时才真正创建对应的 Vue 组件实例。

1 、全局注册

全局注册的组件可以在 Vue 根实例和所有的子组件中使用。注册入口为Vue.component()函数,一次注册,随时使用,注册方式如下:


Vue.component('my-component-name',{ 
    options 
})

示例如下:


//main.js
//此示例是在 vue-cli 创建的项目,默认是非完整版vue,无法用 template 选项,因此使用 render 函数写组件内容。
Vue.component('all-test',{
  data(){
    return {
      x: '我是全局组件'
    }
  },
  render(h){
    return h('div',this.x)
  }
})

//全局注册的组件直接使用即可
//App.vue
<template>
  <div id="app">
    <all-test />
  </div>
</template>

2 、局部注册

局部注册是通过一个普通的 javascript 对象来定义组件。然后组件的命名和注册入口是在 Vue实例 构造选项中的 components 选项。


let component = { options }

//new Vue 创建的根元素 Vue 实例
new Vue({
    el: '#app'
    components: {
        'my-component-name': component
    }
})

//或注册 Vue组件 创建的 Vue 实例
export default {
    components: {
        'my-component-name': component
    }
}

示例如下:


//App.vue
<template>
  <div id="app">
    <all-test />
    <component-a />
    <component-b />
  </div>
</template>

<script>
let ComponentA = {
  data(){
    return {
      x: '我是局部组件 A'
    }
  },
  render(h){
    return h('div',this.x)
  }
}

export default {
  name: 'App',
  components: {
    'component-a': ComponentA,
    'component-b': {
        data(){
          return {
            x: '我是局部组件 B'
          }
        },
        render(h){
          return h('div',this.x)
        }
    } 
  }
}
</script>

3 、模块系统中局部注册

在使用了诸如 Babel 和 webpack 的模块系统中可以使用 import 和 export 的方式单独导入组件的构造选项对象 或者 导入对应构造选项的 *.vue 文件。


//c.js
export default {
    data(){
        return {
          x: '我是 c.js 文件单独导出的组件构造选项对象'
        }
      },
      render(h){
        return h('div',this.x)
      }
}

//D.vue
<template>
    <div>
        {{x}}
    </div>
</template>

<script>
export default {
    data(){
        return {
            x: '我是 D.vue 文件导出的组件'
        }
    }
}
</script>

//App.vue
<template>
  <div id="app">
    <C />
    <D />
  </div>
</template>

import C from './c.js'
import D from './components/D.vue'

export default {
  name: 'App',
  components: {
    C,
    D 
  }
}
</script>

以上就是解读Vue组件注册方式的详细内容,更多关于Vue组件注册方式的资料请关注编程网其它相关文章!

--结束END--

本文标题: 解读Vue组件注册方式

本文链接: https://www.lsjlt.com/news/126063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 解读Vue组件注册方式
    目录概述1 、全局注册2 、局部注册3 、模块系统中局部注册概述 组件化的概念让前端页面开发有了更清晰的结构。 Vue 中的组件就是一个 Vue 的实例对象。因此,Vue 组件的构造...
    99+
    2024-04-02
  • Vue组件注册方式有哪些
    小编给大家分享一下Vue组件注册方式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!概述组件化的概念让前端页面开发有了更清晰的结构。Vue 中的组件就是一个 ...
    99+
    2023-06-15
  • 详解Vue的组件注册
    引言 一个 Vue 组件在使用前需要先被“注册”,这样 Vue 才能在渲染模板时找到其对应的实现。 组件注册有两种方式:全局注册和局部注册。 全局注册​ 我们...
    99+
    2023-05-18
    Vue 组件 Vue 组件注册
  • vue自定义组件的注册方式有几种
    本教程操作环境:windows7系统、vue3版,DELL G3电脑。创建项目通过 cmd 执行如下示例命令来初始化我们的 Vue 项目vue create helloworld cd helloworld code . npm run s...
    99+
    2023-05-14
    Vue
  • vue自定义组件的注册方式有哪些
    这篇文章主要介绍“vue自定义组件的注册方式有哪些”,在日常操作中,相信很多人在vue自定义组件的注册方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue自定义组件的注册方式有哪些”的疑惑有所帮助!...
    99+
    2023-07-04
  • vueinstall注册全局组件方式
    目录vue install注册全局组件1.首先先建立一个公用的组件2.新建一个install.js文件3.在main.js文件中注册4.在页面中使用vue插件的install方法vu...
    99+
    2024-04-02
  • vue如何注册组件
    这篇文章给大家分享的是有关vue如何注册组件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。注册组件全局组件语法如下,组件模板需要使用一个根标签包裹起来。data必须是一个方法Vu...
    99+
    2024-04-02
  • Vue组件如何注册
    这篇文章给大家分享的是有关Vue组件如何注册的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。相信在使用Vue进行项目开发的时候很多人会接触到vue组件,最常见的就是我们使用的ele...
    99+
    2024-04-02
  • vue注册组件的方法是什么
    今天小编给大家分享一下vue注册组件的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、全局注册(这种方式注册组件...
    99+
    2023-07-04
  • vue中怎么注册组件
    vue中怎么注册组件,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、全局注册(这种方式注册组件必须在vue实例化之前声明)Vue.compo...
    99+
    2024-04-02
  • Vue中的组件注册方法及注意事项
    目录Vue组件的基本概念Vue组件的注册全局注册局部注册如何使用Vue组件组件之间嵌套 Vue组件的基本概念 Vue组件是一种可复用的Vue实例,用于封装可重用的HTML元素、Jav...
    99+
    2023-05-18
    Vue注册组件 Vue组件注册
  • vue如何在组件里面注册组件
    这篇文章主要介绍“vue如何在组件里面注册组件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue如何在组件里面注册组件”文章能帮助大家解决问题。在组件内部注册组件的方式,有两种方法:通过 comp...
    99+
    2023-07-05
  • vue组件component的注册与使用详解
    目录1.什么是Vue组件(1)定义(2)父子关系2.Vue组件使用(注册方式)1.局部注册(私有组件注册)2.全局注册3.使用组件的步骤:1.什么是Vue组件 (1)定义 组件是Vu...
    99+
    2022-11-13
    vue组件component vue组件注册使用
  • Vue 组件组织结构及组件注册详情
    目录1、组件的组织2、组件名2.1 组件命名方式3、全局注册4、局部注册1、组件的组织 通常一个应用会以一棵嵌套的组件树的形式来组织: 例如:我们可能会有页头、侧边栏、内容区等组件...
    99+
    2024-04-02
  • VUE中怎么注册全局组件和局部组件
    这篇文章将为大家详细讲解有关VUE中怎么注册全局组件和局部组件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。全局组件第一步:在components文件夹下建...
    99+
    2024-04-02
  • vue如何实现全局组件注册
    这篇文章主要为大家展示了“vue如何实现全局组件注册”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现全局组件注册”这篇文章吧。全局组件注册1 一般情...
    99+
    2024-04-02
  • vue如何批量引入组件、注册和使用详解
    前言 组件是我们非常常用的东西,很多人使用组件都是通过一个一个文件去引用和注册。这篇文章就来介绍下vue批量引入组件、注册和使用的方法。 一、使用场景 在日常开发中,经常会有这样一...
    99+
    2024-04-02
  • Vue组件的通信方式详解
    目录组件间通信的概念组件间通信解决了什么?组件间通信的分类组件间通信的方案props传递数据$emit 触发自定义事件refEventBus$parent 或 $root$attrs...
    99+
    2023-05-15
    Vue组件间的通信方式 Vue组件间通信
  • vue如何注册事件
    在vue中注册事件的方法:1.新建vue.js项目;2.添加button按钮;3.使用$emit方法注册事件;4.使用@click属性添加事件;具体步骤如下:首先,在vue-cli中创建一个vue.js项目;vue create proje...
    99+
    2024-04-02
  • Vue拖拽排序组件Vue-Slicksort解读
    目录一、效果图二、安装组件三、使用组件四、组件参数五、组件方法HandleDirective总结一、效果图 二、安装组件 npm i vue-slicksort -S 三、使用组件...
    99+
    2023-03-10
    Vue拖拽排序组件 Vue-Slicksort Vue拖拽排序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作