Vue组件封装的过程[通俗易懂]

Vue组件封装的过程[通俗易懂]Vue组件封装的过程vue组件的定义组件(Component)是Vue.js最强大的功能之一 组件可以扩展HTML元素,封装可重用代码在较高层面上,组件是自定义元素,Vue.js的编译器为他添加特殊功能某些情况下,组件也可以表现用`js`特性进行了扩展的原生的HTML元素 所有的Vue组件同时也都是Vue实例,所以可以接受相同的选项对象(除了一些根级特有的选项),并提供相同的生命周期钩子函数vue组件的功能能够把页面抽象成多个相对独立的模块实现代码重用,提高开发效率和代码

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Vue组件封装的过程

vue组件的定义

  1. 组件(Component)是Vue.js最强大的功能之一
  2. 组件可以扩展HTML元素,封装可重用代码
  3. 在较高层面上,组件是自定义元素,Vue.js的编译器为他添加特殊功能
  4. 某些情况下,组件也可以表现用 `js` 特性进行了扩展的原生的HTML元素
  5. 所有的Vue组件同时也都是Vue实例,所以可以接受 相同的选项对象(除了一些根级特有的选项),并提供 相同的生命周期钩子函数

vue组件的功能

  1. 能够把页面抽象成多个相对独立的模块
  2. 实现代码重用,提高开发效率和代码质量,使得代码易于维护

Vue组件封装过程

  1. 首先,使用Vue.extend()创建一个组件
  2. 然后,使用Vue.component()方法注册组件
  3. 接着,如果子组件需要数据,可以在props中接受定义
  4. 最后,子组件修改好数据之后,想把数据传递给父组件,可以使用emit()方法

组件使用流程详细介绍

1、组件创建—有3中方法,extend()
< template id=’’>
< script type=‘text/x-template’ id=’’>

  • A、调用Vue.extend(),创建名为myCom的组件,template定义模板的标签,模板的内容需写在该标签下
  • 
    var myCom = Vue.extend({
        template: '<div>这是我的组件</div>'
    })
    
  • B、标签创建,需要加上id属性
  • 
    <template id="myCom">
        <div>这是template标签构建的组件</div>
    </template>
    

    C、< script type=‘text/x-template’ id=‘myCom’>,
    需加id属性,同时还得加 type=“text/x-template”,
    加这个是为了告诉浏览器不执行编译里面的代码

    <script type="text/x-template" id="myCom1"> <div>这是script标签构建的组件</div> </script>
    

    2、注册组件—-有2中方法,全局注册,局部注册

  • A1、全局注册:一次注册( 调用Vue.component( 组件名称,为组件创建时定义的变量 ) ),可在多个Vue实例中使用。
  • 我们先用全局注册,注册上面例子中创建的myCom组件
    Vue.component('my-com',myCom)
    

    A2、全局注册语法糖:不需要创建直接注册的写法

    Vue.component('my-com',{
        'template':'<div>这是我的组件</div>'
    })
    

    ‘my-com’为给组件自定义的名字,在使用时会用到,后面myCom对应的就是上面构建的组件变量。

    A3、如果是用template及script标签构建的组件,第二个参数就改为它们标签上的id值

    Vue.component('my-com',{
        template: '#myCom'
    })
    

    B1、局部注册:只能在注册该组件的实例中使用,一处注册,一处使用

    var app = new Vue({
        el: '#app',
        components: {
            'my-com': myCom
        }
    })
    

    B2、局部注册语法糖:

    var app = new Vue({
        el: '#app',
        components: {
            'my-com': {
               template: '<div>这是我的组件</div>'
            }
        }
    })
    

    B3、< template>及< script>创建的组件,局部注册

    var app = new Vue({
        el: '#app',
        components: {
            'my-com': {
               template: '#myCom'
            }
        }
    })
    

    3、调用组件

    只需要在调用组件的地方,写上组件名字的标签即可

    <div>
        /*调用组件*/
        <my-com></my-com>
    </div>
    

    案例:

    A、全局注册:新建一个html文件,引入vue.js,并且定义2个vue实例app1和app2

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue组件</title>
        <script src="vue.js"></script>
    </head>
    <body>
        <div id="app1">
            <my-com></my-com>
        </div>
        <div id="app2">
            <my-com></my-com>
        </div>
     
        <script> /*创建组件*/ var myCom = Vue.extend({ 
           template: '<div>这是我的组件</div>' }); /*全局注册组件*/ Vue.component('my-com',myCom); /*定义vue实例app1*/ var app1 = new Vue({ 
           el: '#app1' }); /*定义vue实例app2*/ var app2 = new Vue({ 
           el: '#app2' }); </script>
    </body>
    </html>
    

    显示效果:

    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/190083.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux vim怎么保存退出 vim怎么用

    Linux vim怎么保存退出 vim怎么用linux系统是主要用于服务器使用,一般配置文件修改都是通过vi或vim来实现。相比vi而言vim有更强大的功能,本经验咗嚛以centos7.6为例演示linux下vim如何退出 安装vim一般来说vim都是系统默认没有安装的,使用yuminstall-yvim安装。 安装好之后,输入vi按下tab键看到有vim命令表示安装成功了。 如何使用vim默认输入vim就进入了vim,可以查看vim的基本指令 vim+文件名表示编辑此文件,如.

    2022年5月9日
    72
  • java基本变量和引用变量_引用类型与值类型的区别

    java基本变量和引用变量_引用类型与值类型的区别Java中数据类型分为两大类:基本数据类型与复合数据类型。相应地,变量也有两种类型:基本类型与引用类型。Java的8中基本类型的变量称为基本类型变量,而类、接口和数组变量时引用类型变量。这两种类型变量的结构和含义不同,系统对他们的处理也不相同。1.基本类型与引用类型变量*基本类型(primitivetype)基本数据类型的变量包含了单个值,这个值的长度和格式符合变量所属数据类型的要求,可以是一个…

    2022年10月21日
    4
  • python zipfile.zipfile_Python file

    python zipfile.zipfile_Python filezip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下:classzipfile.ZipFile(file[,mode[,compression[,allowZip64]]])创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-likeobject);参数mode指示打开zip文件的模…

    2025年11月30日
    8
  • Nginx 面试 40 问

    Nginx 面试 40 问什么是Nginx?Nginx有哪些优点?Nginx应用场景?Nginx怎么处理请求的?Nginx是如何实现高并发的?什么是正向代理?什么是反向代理?反向代理服务器的优点是什么?Nginx目录结构有哪些?Nginx配置文件nginx.conf有哪些属性模块?cookie和session区别?为什么Nginx不使用多线程?什么是动态资源、静态资源分离?为什么要做动、静分离?什么叫CDN服务?Nginx怎么做的动静分离?Nginx负载均衡的算法..

    2025年7月23日
    4
  • Bitblt函数(API)详解[通俗易懂]

    Bitblt函数(API)详解[通俗易懂]Bitblt作用将某一内存块的数据传送到另一内存块,前一内存块被称为"源",后一内存块被称为"目标"图象程序开发者使用Blit的函数在内存中将某页面上的一幅位图

    2022年7月2日
    42
  • SpringBoot 配置之: 阿里druid数据库连接池 com.alibaba.druid.pool.DruidDataSource 报红「建议收藏」

    SpringBoot 配置之: 阿里druid数据库连接池 com.alibaba.druid.pool.DruidDataSource 报红「建议收藏」第一步在idea中使用官方的创建项目的工具,创建一个新项目。第二步自己添加数据源配置但是”com.alibaba.druid.pool.DruidDataSource”报红。到pom.xml中添加依赖<properties>…<druid.version>1.1.14</druid.version>……

    2022年7月23日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号