IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Vue--02--(组件初始化,父子组件传值,插槽) -> 正文阅读

[JavaScript知识库]Vue--02--(组件初始化,父子组件传值,插槽)

组件初始化,父子组件传值,插槽

组件

遇到重复标签想复用,就封装成组件。
组件的好处:各自独立,便于复用。

1.组件的概念

  • 组件是可复用的Vue实例,封装标签,样式和JS代码
  • 组件化:封装的思想,把页面上可复用的部分封装为组件,从而方便项目的开发和维护
  • 一个页面,可以拆分成一个个组件,一个组件就是一个整体,每个组件可以有自己独立的结构样式和行为(html,css,js)

2.组件的基本使用

  • 1.创建组件 - 文件名.vue

创建的组件里边的style标签里应该加上scoped,只对当前的vue有效<style scoped>...</style>
组件名命名要用小驼峰(即最少要用两个单词)

  • 2.引入组件
  • 3.注册组件

全局 - 注册组件 语法:Vue.component("组件名",组件对象),写在main.js里
局部 - 注册组件 语法:components:{ 组件名: 组件对象 },当组件名与组件对象名字相同的时候,可以只写其中一个,如:zlt,

  • 4.组件名当作标签使用<组件名></组件名>

在这里插入图片描述

3.父子组件传值

当我们需要从一个vue组件向另一个vue组件传值时
子组件内,props定义变量,在子组件使用变量
父组件内,使用子组件,属性方式给props变量传值

  • 1.子组件(myProduct.vue)内,定义变量,准备接收,然后使用变量

这里是引用

  • 父组件(App.vue),传值进去

在这里插入图片描述

  • 当要循环使用时

在这里插入图片描述

  • 单向数据流:从父到子的数据流向。子组件修改数据不通知父亲,会造成数据不一致,vue规定props里的变量,本身是只读的。那么子向父通信就要用子组件触发父亲自定义的事件方法

1.父组件内,绑定自定义事件和事件处理函数,语法:@自定义事件名="父methods里的函数名"
2.子组件内在恰当时机,触发父亲给我绑定的自定义事件,导致父亲methods里的事件处理函数执行this.$emit('自定义事件名',值)
在这里插入图片描述

4.跨组件传值(EventBus)

两个没有引用关系的组件相互传值
在这里插入图片描述

  • 1.src/EventBus/index.js - 创建空白Vue对象并导出,其中EventBus和index都是自定义命名
  • 2.在要接收值的组件(List.vue)里 eventBus.$on('事件名',函数体)
  • 3.在要传递值的组件(MyProduct.vue)eventBus.$emit('事件名',值)

1
2

3

插槽

组件插槽

  • 语法口诀:
    1.组件内用占位
    2.使用组件时夹着的地方,传入标签替换slot

如果外面不给传,想给个默认的显示内容
可以在内放置内容

在这里插入图片描述

当一个组件内有两处以上的不确定的地方需要外部传入,可以:

  • 1.slot标签使用name属性区分名字
  • 2.template配合v-slot:名字来分发对应标签,v-slot:可以简化为#
    在这里插入图片描述

作用域插槽

使用插槽时,想用子组件内的变量

  • 1.子组件,在slot上绑定属性和子组件内的值
  • 2.使用组件,传入自定义标签,用templatev-slot="自定义变量名"
  • 3.自定义变量名自动绑定slot上所有的属性和值(scope={ row : defaultObj }

在这里插入图片描述
在这里插入图片描述
实例运用:
在这里插入图片描述

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-10-17 12:24:08  更:2022-10-17 12:25:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/17 17:01:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码