vue组件入门知识全梳理


Posted in Javascript onSeptember 21, 2020

组件

vue组件入门知识全梳理

概念:template是入口组件,那么挂载在template下的组件是入口组件的子组件

局部组件

三步口诀:声子,挂子,用子

  • 声明一个局部组件,变量名首字母大写(为了和H5标签做区分),里面的内容和vue实例化对象的内容相似,但是不需要el,data必须是一个函数,函数返回一个对象
  • 把组件挂载到入口文件的components对象中。
  • 在入口文件的template中使用,可以是双闭合标签也可以是单闭合标签

全局组件

Vue.component(name,options)

第一个参数是组件的名称

第二个参数是组件的对象

注意全局组件要在创建Vue实例化对象前,否则会报错

vue组件入门知识全梳理

// 全局组件(要在创建Vue实例之前)
 Vue.component('Vbtn', {
 template: `<button>全局按钮组件</button>`
 })
 // 1、创建一个入口组件
 // 2、创建头部组件,侧边栏组件和内容组件
 var Heard = {
 template: `
 <div>
 <h2>我是头部组件</h2>
 <Vbtn></Vbtn>
 </div>
 `
 }
 var Aside = {
 template: `
 <div>我是侧边栏组件</div>
 `
 }
 var Content = {
 template: `
 <div>我是内容组件</div>
 `
 }
 var App = {
 template: `
 <div class="main">
 <Heard class = "heaed"></Heard>
 <div class="main2">
 <Aside class="aside"></Aside>
 <Content  class="content"/>
 </div>
 </div>
 `,
 components: {
 Heard,
 Aside,
 Content
 }
 }
 new Vue({
 el: "#app",
 data() {
 return {
 msg: "这是测试"
 }
 },
 template: `
 <App></App>
 `,
 components: {
 App
 }
 });

组件深入

问:为什么要通过父亲获取数据,在传递到子组件呢?

答:通过父亲向后端获取数据,然后在分发到各组件可以减少后端的交互,不然各个组件都向后端发送请求影响性能

见下图:

vue组件入门知识全梳理

父子组件传值(父传子)

1、父 用子 时通过 绑定自定义属性 传递,

2、子要 声明 props:['属性']接收父绑定的自定义属性

3、收到就是自己的随便用

在template中直接使用 在js中this.属性名

vue组件入门知识全梳理

小补充:绑定自定义属性时:常量传递直接用,变量传递加冒号

总结父传子

父用子:先声子、挂子、用子

父传子:父传子(属性)、子声明(接收)、子使用

子传父

1、父 用子 绑定 自定义事件

2、子触发自定义事件:this.$emit()

第一个参数是**自定义事件名**
第二个参数是**传递进去的值**
![image](/img/bVbO3Ps)

全局组件的数据传递 1、通过VUE内置组件slot分发内容

原因:如果不使用slot无法修改全局组件的内容

作用:slot元素作为承载分发内容的出口

2、父子传值

自定义属性传递常量直接使用不需要加冒号

vue组件入门知识全梳理

如果要触发原生的事件需要通过 @原生事件名.native调用

vue组件入门知识全梳理

3、具名插槽

在子组件中声明使用vue的内置组件:

<slot name = "one"></slot>

父组件中调用

<h2 slot= "one"></h2>

这样做的目的:可以一条数据一个坑,数据不会乱了

附加功能

1、过滤器filters

1、作用:对当前数据添油加醋

2、语法:声明在组件内使用filters对象,返回一个函数,函数一定要有返回值

3、调用:template中调用过滤器:数据属性|过滤器名字

var Content = {
  template: `
   <div>
   <input type = number  v-model = "msg"/>
   <h2>{{msg|RmbData}}</h2>
   </div>
  `,
  data(){
   return{
   msg:10
   }
  },
  filters:{
   RmbData(value){
   return '$'+value
   }
  }
 }

生命周期

总结

到此这篇关于vue组件入门知识全梳理的文章就介绍到这了,更多相关vue组件知识内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
输入密码检测大写是否锁定js实现代码
Dec 03 Javascript
网页广告中JS代码的信息监听示例
Apr 02 Javascript
在浏览器中打开或关闭JavaScript的方法
Jun 03 Javascript
js一维数组、多维数组和对象的混合使用方法
Apr 03 Javascript
js实现div模拟模态对话框展现URL内容
May 27 Javascript
jqPlot jQuery绘图插件的使用
Jun 18 Javascript
关于JSON与JSONP简单总结
Aug 16 Javascript
js字符串操作总结(必看篇)
Nov 22 Javascript
深入学习jQuery中的data()
Dec 22 Javascript
Vue实现搜索 和新闻列表功能简单范例
Mar 16 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 Javascript
Ajax获取node服务器数据的完整步骤
Sep 20 #Javascript
微信小程序获取当前时间及星期几的实例代码
Sep 20 #Javascript
vue操作dom元素的3种方法示例
Sep 20 #Javascript
npm ci命令的基本使用方法
Sep 20 #Javascript
js面试题之异步问题的深入理解
Sep 20 #Javascript
js实现简单的点名器随机色实例代码
Sep 20 #Javascript
前端vue+elementUI如何实现记住密码功能
Sep 20 #Javascript
You might like
用php过滤危险html代码的函数
2008/07/22 PHP
dedecms 批量提取第一张图片最为缩略图的代码(文章+软件)
2009/10/29 PHP
批量修改RAR文件注释的php代码
2010/11/20 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
深入解析php之apc
2013/05/15 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
项目中应用Redis+Php的场景
2016/05/22 PHP
js获取提交的字符串的字节数
2009/02/09 Javascript
JS正则验证邮箱的格式详细介绍
2013/11/19 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
js比较日期大小的方法
2015/05/12 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
Python的GUI框架PySide的安装配置教程
2016/02/16 Python
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
pycharm解决关闭flask后依旧可以访问服务的问题
2020/04/03 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
Python eval函数介绍及用法
2020/11/09 Python
HTML5使用DOM进行自定义控制示例代码
2013/06/08 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
如何开启linux的ssh服务
2015/02/14 面试题
小区停车场管理制度
2014/01/27 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
上市公司财务总监岗位职责
2015/04/03 职场文书
仙境之桥观后感
2015/06/16 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
AJAX学习笔记
2021/05/18 Javascript
前端与RabbitMQ实时消息推送未读消息小红点实现示例
2022/07/23 Java/Android