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 相关文章推荐
utf-8编码引起js输出中文乱码的解决办法
Jun 23 Javascript
JavaScript 事件系统
Jul 22 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
jQuery中after()方法用法实例
Dec 25 Javascript
JavaScript事件学习小结(三)js事件对象
Jun 09 Javascript
Node.js文件编码格式的转换的方法
Apr 27 Javascript
vuejs2.0运用原生js实现简单拖拽元素功能
Aug 21 Javascript
微信小程序实现收货地址左滑删除
Nov 18 Javascript
Vue.js项目实战之多语种网站的功能实现(租车)
Aug 07 Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
Aug 15 Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 Javascript
js实现详情页放大镜效果
Oct 28 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
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
PHP基于curl后台远程登录正方教务系统的方法
2016/10/14 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
深入解析contentWindow, contentDocument
2013/07/04 Javascript
javascript基础之查找元素的详细介绍(访问节点)
2013/07/05 Javascript
JQuery设置文本框和密码框得到焦点时的样式
2013/08/30 Javascript
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
2014/01/26 Javascript
为jquery的ajaxfileupload增加附加参数的方法
2014/03/04 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
浅析Node.js的Stream模块中的Readable对象
2015/07/29 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
详解js中Number()、parseInt()和parseFloat()的区别
2016/12/20 Javascript
node通过express搭建自己的服务器
2017/09/30 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
深入浅出理解JavaScript闭包的功能与用法
2018/08/01 Javascript
优雅的在React项目中使用Redux的方法
2018/11/10 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
[02:54]DOTA2英雄基础教程 撼地者
2014/01/14 DOTA
python获取文件后缀名及批量更新目录下文件后缀名的方法
2014/11/11 Python
利用python代码写的12306订票代码
2015/12/20 Python
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
html5简介_动力节点Java学院整理
2017/07/07 HTML / CSS
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
居委会工作总结2015
2015/05/18 职场文书
七一晚会主持词
2015/06/29 职场文书
员工规章制度范本
2015/08/07 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
2021/06/03 Python
WINDOWS下安装mysql 8.x 的方法图文教程
2022/04/19 MySQL