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 相关文章推荐
javawscript 三级菜单的实现原理
Jul 01 Javascript
JavaScript获取页面上某个元素的代码
Mar 13 Javascript
JQuery中html()方法使用不当带来的陷阱
Apr 07 Javascript
根据选择不同的下拉值出现相对应的文本输入框
Aug 01 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
Sep 25 Javascript
js 将json字符串转换为json对象的方法解析
Nov 13 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
Apr 12 Javascript
AngularJS数据源的多种获取方式汇总
Feb 02 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
Dec 26 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
Sep 30 Javascript
Angular4 ElementRef的应用
Feb 26 Javascript
Node配合WebSocket做多文件下载以及进度回传
Nov 07 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 $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
thinkPHP5.0框架API优化后的友好性分析
2017/03/17 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
动态加载外部javascript文件的函数代码分享
2011/07/28 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
js禁止页面复制功能禁用页面右键菜单示例代码
2013/08/29 Javascript
Javascript中的Prototype到底是什么
2016/02/16 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
2016/05/28 Javascript
AngularJS延迟加载html template
2016/07/27 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
java和js实现的洗牌小程序
2019/09/30 Javascript
Python 实现链表实例代码
2017/04/07 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
如何使用Flask-Migrate拓展数据库表结构
2019/07/24 Python
详细介绍Python进度条tqdm的使用
2019/07/31 Python
在 Pycharm 安装使用black的方法详解
2020/04/02 Python
python多进程使用函数封装实例
2020/05/02 Python
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
Linux如何压缩可执行文件
2014/03/27 面试题
大学生入党思想汇报
2014/01/01 职场文书
校园安全广播稿
2014/02/08 职场文书
2014年入党积极分子党校培训心得体会
2014/07/08 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
医德医风自我评价
2014/09/19 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
2015年语文教师工作总结
2015/05/25 职场文书
使用nginx动态转换图片大小生成缩略图
2021/03/31 Servers
centos环境下nginx高可用集群的搭建指南
2022/07/23 Servers