vue初级学习--组件的使用(自定义组件)

摘要:
vue的组件注册超级简单。现在让我们简单地讨论一下组件,然后直接进入演示。1.理解组件的官方解释如下:组件系统是Vue的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立且通常可重用的组件来构建大型应用程序。在Vue中,组件本质上是具有预定义选项的Vue实例。

一、导语

  突然冒出四个字,分即是合,嗯,有点道理。。。。。。。。。。。。。。。。。。。。。。。

二、正文

  在搞的仿淘宝demo,之前加入购物车是与商品详情一块的,今天把它单独拆出来,复用性高点,那这样的话,就涉及到了组件开发了。vue的组件注册是超级超级容易的,接下来就简短的说说组件吧,直接上demo了。

  1、理解组件

    官方对于组件的解释是这样的:组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。在 Vue 里,一个组件本质上是一个拥有预定义选项的一个 Vue 实例。

    反正我捕抓到一点 一个组件本质上是一个拥有预定义选项的一个 Vue 实例  那是不是意味着可以自定义组件?哎呀,我查了查,还真是可以!!!下面的例子就是自定义组件

  2、组件的注册

    注册组件很简单,只要在父件中像引入文件一样,用  import 引入,然后在 components 中注册,就可以了。如下:

    vue初级学习--组件的使用(自定义组件)第1张

    接下来就可以在html中使用,并且声明引用了:

    vue初级学习--组件的使用(自定义组件)第2张

    很好,这样就注册组件成功了。

  3、组件之间的传值

    一个项目最重要的就是数据之间的传递,数据的渲染,接下来就来看看这最重要的一步。

    1)、父传递数据于子

      只需在 父 使用组件时,将参数利用    :XXX="ZZZ" 传递过去就行,如  :filterPro="filterPro",而 ZZZ是参数名,而且参数名不要带下划线。

      子是通过 props 接受父传递过来的值,而 props 的参数名要与父传递过来的 ZZZ 一致。

      如下:

       父:

      vue初级学习--组件的使用(自定义组件)第3张

      子:

      vue初级学习--组件的使用(自定义组件)第4张

      ZZZ肯定是在父里的data声明了,传递给子时,子就不用再声明了,直接拿来用就可以了。

     2)、子传递值于父

      子传递值给父,其实思路是如此,子通过绑定事件,在事件对应的方法里利用  $emit 触发父的方法,让父去动态赋值。但是前提是,父也要声明此方法,具体如下:

      父:

      声明方法时格式如此 : @XXX="ZZZ",ZZZ对应子调用的方法,XXX对应父method里对应写的具体实行方法

      vue初级学习--组件的使用(自定义组件)第5张

      父method里对应写的具体实行方法:

      vue初级学习--组件的使用(自定义组件)第6张

      子:

      先通过事件调用方法的方式

      vue初级学习--组件的使用(自定义组件)第7张

      子的method里使用$emit去触发父的方法

      vue初级学习--组件的使用(自定义组件)第8张

      值得注意的是,子使用 $emit() 方法的第一个参数,是父与子联通时声明的方法名,也就是上面讲到的ZZZ,而第二个参数开始,就可以是子传递给父的参数名。

      vue初级学习--组件的使用(自定义组件)第9张

三、结尾

  好了,到此基本说完了组件的基础东西了,父子之前传递东西,不单单是$emit这个方法可以用,大家也可以找找其他方法试试。

  最后给几张效果图,点击“请选择 颜色分类”会弹出第二张图,点击第二张图的 关闭按钮或者是“加入购物车”,会关闭该界面(关闭了子组件,并且子组件调用了this.$emit("sendNotice",this.demo1Checkbox),通知父组件替换掉"请选择 颜色分类"这几个字)

  vue初级学习--组件的使用(自定义组件)第10张vue初级学习--组件的使用(自定义组件)第11张

    

免责声明:文章转载自《vue初级学习--组件的使用(自定义组件)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Vue-Router基础知识点总结【vue系列】python反射下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Vue通过build打包后 打开index.html页面是空白的

最近在build打包vue项目遇到了几个问题,如下: 1、npm run build打包项目之后,我们通常是把dist文件里面被压缩后的static文件跟index.html提交到服务器,但最近发现直接打开index.html页面是空白的,还会报几个错,找不到页面路径。 原因:找到config文件下index.js,全局搜索assetsPublicPath...

vue中获取客户端IP地址

vue中获取客户端IP地址 获取ip方法 export functiongetUserIP(onNewIP) { let MyPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection ||window.webkitRTCPeerConnection; let...

Vue|退出功能

一、前言 在我们进行web开发时,有一个很常规的功能退出登录,那么vue是怎么实现的呢 二、具体步骤   1、在index组件中,添加退出登录按钮,并且点击事件绑定一个退出方法   2、查看后端开发的接口文档,在用户模块里面,封装退出方法   3、在index的组件中,方法区域中调用退出登录   4、效果 三、总结 先找到对应的模块,定义好退出登录...

vue 在nginx下页面刷新出现404问题解决和在nginx下页面加载了js但是页面显示空白问题解决

一、vue 在nginx下页面刷新出现404   在网上翻遍了所有这样问题的解决办法,全都是一个解决办法也是正确的解决办法,(后来在vue官网上关于history方式出现404解决方法也是这样说的),只是没有表达完整,可能会让比较急于解决这个问题的人简单复制却始终解决不了问题 nginx正确的配置: 1、如果是在根目录则配置如下 location / { ...

《Vue项目的创建以及初始化(两种方法)》

  Vue项目创建初始化两种方法,一是命令创建,二是在它的ui图形界面去创建(我一般用ui,主要懒得打那么多命令)~   创建的时候一定要确保node是否安装,npm一般都会自带的,检查它们版本的命令就是:node -V 以及 npm -V ,如果要更新npm的版本就可以输入npm install -g npm   先说命令创建初始化:     首先安装v...

vue项目部署到nginx服务

vue开发的项目,通过编译会得到 dist文件夹,如何发布到nginx服务器上? 配置nginx服务器 在nginx服务文件中,打开 conf文件夹 为了不改变nginx的默认配置(nginx.conf),复制一份,重名为 custom.conf 修改 custom.conf 文件中的 root 参数为 custom ...... server...