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 相关文章推荐
在vs2010中调试javascript代码方法
Feb 11 Javascript
javascript分页代码(当前页码居中)
Sep 20 Javascript
简单常用的幻灯片播放实现代码
Sep 25 Javascript
JS获取键盘上任意按键的值(实例代码)
Nov 12 Javascript
网页运行时提示对象不支持abigimage属性或方法
Aug 10 Javascript
jquery访问ashx文件示例代码
Aug 11 Javascript
JavaScript中的值类型转换介绍
Dec 31 Javascript
修复bash漏洞的shell脚本分享
Dec 31 Javascript
ztree获取当前选中节点子节点id集合的方法
Feb 12 Javascript
纯javascript制作日历控件
Jul 17 Javascript
Angularjs 实现一个幻灯片示例代码
Sep 08 Javascript
有趣的JavaScript隐式类型转换操作实例分析
May 02 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发送邮件类代码附详细说明
2008/07/10 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
php控制文件下载速度的方法
2015/03/24 PHP
php实现的简单美国商品税计算函数
2015/07/13 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
js前台判断开始时间是否小于结束时间
2012/02/23 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
JS获取屏幕,浏览器窗口大小,网页高度宽度(实现代码)
2013/12/17 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
2014/06/04 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
javascript生成随机数方法汇总
2015/11/12 Javascript
JS简单实现浮动窗口效果示例
2016/09/07 Javascript
微信小程序实现滴滴导航tab切换效果
2018/07/24 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
2018/11/28 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
微信小程序如何调用json数据接口并解析
2019/06/29 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
Windows下Python的Django框架环境部署及应用编写入门
2016/03/10 Python
django站点管理详解
2017/12/12 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
python 递归相关知识总结
2021/03/03 Python
台湾网友喜爱的综合型网路购物商城:Yahoo! 奇摩购物中心
2018/03/10 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
应届大专毕业生个人自荐信
2013/09/22 职场文书
奶茶店创业计划书范文
2014/01/17 职场文书
职工运动会邀请函
2014/01/19 职场文书
数学国培研修感言
2014/02/13 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
2015暑期社会实践通讯稿
2015/07/18 职场文书
Django实现翻页的示例代码
2021/05/24 Python
全新239军机修复记
2022/04/05 无线电
vue-cil之axios的二次封装与proxy反向代理使用说明
2022/04/07 Vue.js
python中pd.cut()与pd.qcut()的对比及示例
2022/06/16 Python