| |
|
开发:
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「五」—— 动态组件、插槽、自定义指令 -> 正文阅读 |
|
[JavaScript知识库]Vue「五」—— 动态组件、插槽、自定义指令 |
系列文章阅读 📑📑 >> Vue「一」—— 前端工程化、webpack 的基本使用及常用配置 >> Vue「二」—— vue 基本使用 、 vue 指令与过滤器 >> Vue「三」—— vue 侦听器、vue 计算属性、vue-cli、vue 组件 🐾 文章内容预览一、动态组件1. 什么是动态组件动态组件指的是 动态切换组件的显示与隐藏 。vue 提供了 <component> 组件,它相当于组件的占位符,专门用来实现动态组件的渲染。
上面这段代码即可实现在 2. 使用 keep-alive 保持状态默认情况下,切换动态组件时 无法保持组件的状态。此时可以使用 vue 内置的 <keep-alive> 组件保持动态组件的状态。<keep-alive> 会把内部的组件进行缓存,而不是销毁组件。
上面这段代码使得 comName 对应名称的组件不会重复的创建和销毁,即使在该组件被隐藏时也不会被销毁,而是被缓存进内存中暂时失活。 3. keep-alive 对应的生命周期函数
4. include 和 exclude 属性include 属性用来指定:只有 名称匹配的组件 会被缓存。多个组件名之间使用英文的逗号分隔。
或者,通过 exclude 属性指定哪些组件不需要被缓存。但是,不可以同时使用 include 和 exclude 这两个属性。
5. name 名称在组件声明时可以指定 name 属性,声明之后 name 属性的值就是组件的名称。
name 属性指定后,在调试工具中所看到的组件名即为 name 属性的值。 二、插槽1. 什么是插槽插槽(Slot)是 vue 为组件的封装者提供的能力。允许开发者在封装组件时,把 不确定的、希望由用户指定的部分 定义为插槽 。 在封装组件时,可以通过 <slot> 元素定义插槽,从而为用户预留内容占位符。之后在使用该组件时,组件标签中的内容会被填充到 <slot> 的位置上。实现用户自己定义组件的 UI 结构。 2. 具名插槽如果在封装组件时需要预留多个插槽节点,则需要为每个 <slot> 插槽指定具体的 name 属性。这种带有具体名称的插槽叫做 “ 具名插槽 ”。
如果省略 name 属性,其默认名称为 defalut 。在默认情况下,使用组件时,提供的内容都会被填充到 defalut 插槽中。 如何为具名插槽提供内容呢? 我们可以在一个
?? 注意: v-slot 有简写形式 跟
? 3. 作用域插槽在封装组件的过程中,可以为预留的 <slot> 插槽绑定数据,这种带有额外数据的插槽就被称为 作用域插槽 。
其他组件引入该组件为该插槽填充内容时,就可以使用变量来接收绑定的数据。
这里使用形参 scope 来接收的数据,接收来的数据是一个对象。其实也可以使用其他变量名,只不过 scope 显得更专业一些。 页面效果如下:
上面插槽中属性提供的数据是固定的,你也可以将属性值绑定为 props 或 data 中数据。 三、自定义指令vue 官方提供了 vue 中的自定义指令分为两类,分别是:
1. 私有自定义指令在每个 vue 组件中,可以在 directives 节点下声明 私有自定义指令 。
?? 注意:所定义的指令名称无需加 2. 为自定义指令动态绑定参数值在
其中, 3. update 函数前面所说的
?? 注意: 4. 函数简写如果
5. 全局自定义指令全局共享的自定义指令需要通过
|
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/24 7:00:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |