一个由于找不到工作而进化成 金针菇级别 癫疯前端汪。风来雨来卷起来。

Vue组件快速学习-粗识组件

  • 前言
  • 全局组件:
    • 一、全局组件-注册方法1-远古秘方
      • 1.调用Vue.extend方法,传入目标格式对象
      • 2.调用Vue.component,注册全局组件
    • 二、全局组件-注册方法2-语法糖秘方
      • 1.直接调用Vue.component方法,传入Vue.extend参数所需格式的对象,完成组件注册
    • 三、全局组件-注册方法3-template标签-以及远古秘方与语法糖糅合
      • 1.在html标签中定义template
      • 2.简约定义Vue.extend对象,调用Vue.component完成注册
    • 四、 全局组件总结:
  • 局部组件:
    • 一、局部组件-注册方法-粗鲁-Vue实例中的component直接传Vue.extend对象
      • 1.添加component对象,传入Vue.extend格式的对象
    • 一、局部组件-注册方法2-精细-Vue.extend对象的数据事先定义好再传
      • 1.外部制作好Vue.extend参数所需格式对象,然后传入实例中的component中
  • 总结

前言

众所周知,现今企业中的前端开发,不是光会大学里的HTML、CSS、JavaScript就可以上手的。前端早已跨过了刀耕火种的时代,各种框架层出不穷,打开招聘网站,月薪三千块的岗位都要求会Vue。因此要想吃上前端开发这口饭,就至少得学会Vue.js。
本文梳理Vue组件的使用,乃Vue学习的第二大关。
使用组件的好处:组件能实现复杂的页面结构,提高代码的可复用性,减少重复代码的编写,提高开发效率,降低代码之间的耦合度,使得项目更易于维护和管理。


提示:以下是本篇文章正文内容,下面案例可供参考

全局组件:

一、全局组件-注册方法1-远古秘方

使用到:Vue.extend、Vue.component、template。

1.调用Vue.extend方法,传入目标格式对象

代码如下(示例):

const cpn1 = Vue.extend({template:`<div><h2>我是组件cpn1</h2><button v-on:click="count++">被单击{{count}}次</button></div>`,data() {return {count: 0,};},});

注意:data必须是一个方法,并且用return返回数据。:

2.调用Vue.component,注册全局组件

代码如下(示例):

Vue.component("cpn1",cpn1);

运行结果如下(示例):

至此,一个全局组件已经注册成功。(注:该注册方法过于古老,现今官方文档和各种资料都使用一种全新的语法糖简约注册)


二、全局组件-注册方法2-语法糖秘方

使用到:Vue.component、template。

1.直接调用Vue.component方法,传入Vue.extend参数所需格式的对象,完成组件注册

代码如下(示例):

 Vue.component('my-component',{data() {return {count: 0,};},template: `<div><h2>我是组件cpn1</h2> <button v-on:click="count++">被单击{{count}}次</button></div>`,});

运行结果如下(示例):

使用改方法,直接省略调用Vue.extend步骤,但其实内部还是会调用Vue.extend来实现。
使用该方法,一步到位,十分方便,但是代码依旧不够简洁,我们接着看下去。


三、全局组件-注册方法3-template标签-以及远古秘方与语法糖糅合

使用到:Vue.component、template标签。

1.在html标签中定义template

代码如下(示例):

<template id="cpn3"><div><h2>我是全局组件cpn3</h2><button v-on:click="count++">被单击{{count}}次</button></div></template>

随后 可以在js中通过id找到该模板。好处:使用该标签非常方便书写html标签。(注意:template标签中需要用一个div作为根将标签包裹起来)

使用到:Vue.component、template。

2.简约定义Vue.extend对象,调用Vue.component完成注册

由于在Vue.component中直接书写对象使得代码复杂不具备可读性,因此事先将对象在外先定义好在传进去,代码如下(示例):

 const cpn3={template:'#cpn3',data() {return {count: 0,};}}Vue.component('cpn3',cpn3);

运行结果如下(示例):

使用该方法,既方便template模板的书写,又省去了Vue.extend的调用。保证了代码的美观,可阅读性。


四、 全局组件总结:

1、template模板在html中用template标签定义好。
2、Vue.extend写起来麻烦,直接用语法糖解决,即直接在js代码中定义格式一样的对象。
3、最终全局注册都调用Vue.component方法。

局部组件:

一、局部组件-注册方法-粗鲁-Vue实例中的component直接传Vue.extend对象

使用到:component、template。

1.添加component对象,传入Vue.extend格式的对象

代码如下(示例):

const app=new Vue({el:'#app',data: {message:"hello Vue"},methods:{},components:{cpn1:{template:`<div><h2>我是局部组件cpn1</h2><button v-on:click="count++">被单击{{count}}次</button></div>`,data() {return {count: 0,};},}}})

注意:data必须是一个方法,并且用return返回数据。:


一、局部组件-注册方法2-精细-Vue.extend对象的数据事先定义好再传

使用到:component、template。

1.外部制作好Vue.extend参数所需格式对象,然后传入实例中的component中

代码如下(示例):

const cpn2={template:`<div><h2>我是局部组件cpn2</h2><button v-on:click="count++">被单击{{count}}次</button></div>`,data() {return {count: 0,};},}const app=new Vue({el:'#app',data: {message:"hello Vue"},methods:{},components:{cpn2:cpn2}})


总结

组件注册都用到component方法,该方法里面包含template、data。其中template可以用template标签写,然后利用id引用;而data必须是一个函数,函数用return返回数据。
细节的人事先定义好Vue.extend()参数所需格式对象,然后再给到component。此乃金针菇前端汪。
全局组件和局部组件的区别在于:全局调用Vue.component,而局部调用的是Vue实例中的component

初识组件--全局注册\局部注册相关推荐

  1. Vue.js-Day02-PM【组件化开发(全局注册组件、局部注册组件、案例)、组件的配置选项、轮播图实例(左右切换按钮、底部导航栏、定时器、鼠标移入-图片静止)】

    Vue.js实训[基础理论(5天)+项目实战(5天)]博客汇总表[详细笔记] 目   录 4.组件化开发 4.1.组件的注册 全局注册 局部注册(只能在当前整个Vue实例的范围内才可以使用) 使用组件 ...

  2. vue中全局注册和局部注册

    全局注册 //在main.js中全局注册 import Vue from 'vue'//导入在components中创建的复用组件 import pageTools from '@/component ...

  3. 组件命名方式||局部组件注册:局部组件只能在注册他的父组件中使用

    组件命名方式 组件注册注意事项                 如果使用驼峰式命名组件,那么在使用组件的时候,只能在字符串模板中用驼峰的方式使用组件,但是                 在普通的标签 ...

  4. 【视频】vue组件的局部注册

    P12vue组件的局部注册 https://www.bilibili.com/video/av91679349?p=12

  5. vue 组件 全局组件和局部组件component

    1.全局组件 <!DOCTYPE html> <html><head><meta charset="UTF-8"><title ...

  6. vue中定义组件 components(局部 / 全局)

    1. 基本信息 组件是对你 html 标签的一个拓展 组件里面的内容就是你模板的内容 组件分为全局组件和局部组件 对象当中定义的组件都是局部组件 2. 如何定义(注册)组件 定义组件需要使用compo ...

  7. 注册中心—注册中心原理

    在微服务架构中,注册中心是最核心的基础服务之一,本文将详细介绍下注册中心的组成部分和它们之前的关系. 目录 一.注册中心原理 二.注册中心功能 三.常见的注册中心 一.注册中心原理 注册中心主要涉及到 ...

  8. php ado 建立注册,如何注册ADO与DAO [Access软件网]

    正 文: 用Access数据库制作过程中会遇到 ActiveX 组件无法创建对象等错误提示,此问题是由于有的OFFICE用户可能ADO2.1和DAO3.6没有注册,手动注册的方法如下: 一.注册ADO ...

  9. VC检测OLE控件是否已经注册,并注册它

    如果OLE控件不存在的话,在   try   {                    HRESULT hr;      hr = ::CoInitializeEx( Null, COINIT_APA ...

  10. [转载]内存分配 知识,全局,局部,静态变量

    [转载]内存分配 知识,全局,局部,静态变量 预备知识-程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)- 由编译器自动分配释放 ,存放函数的参数值,局部变 ...

最新文章

  1. 【Netty 】Netty fireChannelRead用法
  2. fping的使用方法
  3. c语言怎么在win7上运行,C语言做的中国象棋,分享,问怎么在WIN7下运行
  4. c语言 srand time 0,c++ 随机数 srand(time(0)) 用法 | 求索阁
  5. swagger-bootstrap-ui 1.9.3 发布,i18n及自定义文档支持
  6. 计算机组成原理xchg,8088数据传送指令-计算机组成原理与汇编语言-电子发烧友网站...
  7. 化工计算机软件基础考试题,化工原理模拟试题(一)及答案.doc
  8. DALSA相机开发记录(01)
  9. ubuntu修改系统时区和jvm时区
  10. 【调音小栈】跳羚PRO12PRO22声卡搭载机架跳线设置教程
  11. python socket编程实例代码(含服务端和客户端)
  12. NetSarang旗下网络通讯系列产品v5版本更新合集丨附下载
  13. Java静态代理详解
  14. 移动热修复Sophix之初体验
  15. sql更新语句中update set from用法
  16. Unity 贴图Meta文件的探究
  17. 哪里有电,哪里就应该有网络 ,华为移动路由Pro评测
  18. 【C语言】从字符串中提取IP地址最简洁的方法
  19. 全球与中国萃取塔市场现状及未来发展趋势(2022)
  20. NOIP模拟赛 麻将

热门文章

  1. tomcat连接超时
  2. win8计算机显示在桌面快捷方式,win10、win8.1系统桌面快捷方式图标显示异常怎么办-系统操作与应用 -亦是美网络...
  3. Sleepy Cow Sorting(树状数组)
  4. mac pro词典无法使用问题
  5. 职高计算机应用基础学的什么,职高计算机应用基础教法初探
  6. 万字长文:全面解读新公链新生态
  7. 爬虫之-bilibili视频下载-接口分析
  8. urchin的安装及使用
  9. 【java实现定时自动发送QQ消息】
  10. 程序员有趣的面试智力题