前端(vue)学习笔记(CLASS 5):自定义指令插槽路由

1、自定义指令

内置指令:内部提供的,每个指令都有自己各自独立的功能

自定义指令:自己定义的指令,可以封装一些dom操作,扩展额外功能

全局注册-语法

例如,当页面加载时,让元素获得焦点

    Vue.directive('指令名',{"insert"(el) {el.focus()}})

insert指的是当指令所绑定的元素被添加到页面中时会自动调用

该代码写在main.js文件中

局部组册-语法

    directives: {"指令名": {inserted() {else.foucs()} }}

局部注册的代码写在组件内的script中

使用的时候,和其他指令一样,v-指令名

* 自定义指令-指令的值

语法:在绑定指令时,可以通过“等号”的形式为指令绑定具体的参数值

通过binding.value可以拿到指令值,指令值修改会触发update函数

Vue.directive('指令名',{insert(el,binding) {//el为绑定的元素,binding.value获取等号后的值},update(el,binding) {//同样的逻辑,用于实时更新}
* 自定义指令-v-loading封装

场景:实际开发过程中,发送请求需要时间,在请求的数据未回来时,页面会处于空白状态

需求:封装一个v-loading指令,实现加载中的效果

分析:

1、本质loading效果就是一个蒙层,盖在盒子上

2、数据请求中,开启loading状态,添加蒙层

3、数据请求完毕,关闭loading状态,移除蒙层

实现:

1、准备一个loading类,通过伪元素定位,设置宽高,实现蒙层

2、开启关闭loading状态,本质只需添加移除类即可

3、结合自定义指令的语法进行封装复用

2、插槽

作用:让一些组件内部的一些结构支持自定义

分成后备内容插槽,具名插槽

插槽基本语法:

1、组件内需要定制的结构部分,改用<slot></slot>占位

2、使用组件时,<MyDialog></MyDialog>(自定义的组件)标签内部,传入结构替换slot

* 插槽-后备内容(默认值)

通过插槽完成了内容的定制,传什么就显示什么,但是如果不传,则是空白

插槽后备内容:封装组件时,可以为预留的<slot>插槽提供后备内容(默认内容)

语法:在该标签内,放置内容,作为默认内容

* 插槽-具名插槽

需求:一个组件内有多处结构,需要外部传入标签,进行定制

具名插槽语法:

1、多个slot使用name属性区分名字

2、template配合v-slot:对应属性值 来分发对应标签

其中的v-slot可以直接简写为#属性值

* 插槽-作用域插槽

作用域插槽:定义slot插槽的同时,是可以传值的。给插槽绑定数据,将来使用组件时可以用

基本步骤:

1、给slot标签,以添加属性的方式传值

<slot :id="item.id" msg="测试文本"></slot>

2、所有被添加的属性,都会被收集到一个对象里

3、在template中,通过#插槽名=“obj”接收,默认插槽名为default

3、路由入门

单页应用程序:SPA-Single Page Application

单页面应用:所有功能在一个html页面上实现

单页面之所以开发效率高,性能好,用户体验好,最大原因是页面按需更新

要按需更新,首先就要明确:访问路径和组件的对应关系

访问路径和组件的对应关系由路由确定

vue中的路由:路径和组件之间的映射关系

1、VueRouter

作用:修改地址栏路径时,切换显示匹配的组件

说明:Vue官方的一个路由插件,是一个第三方包

VueRouter的使用(5+2)

5个基础步骤(固定)

1、下载:下载VueRouter模块到当前工程

2、引入

import VueRouter from 'vue-router'

3、安装注册

Vue.use(VueRouter)

4、创建路由对象

const router=new VueRouter()

5、注入,将路由对象注入到new Vue实例中,建立联系

new Vue({render: h => h(App),router
}).$mount('#app')

以上操作都在main.js中完成

2个核心步骤

1、创建需要的组件(views目录),配置路由规则

例如:

import Find from './views/Find.vue'
import My from './views/My.vue'
const router =new VueRouter({routes: [{path:'/find',component: Find},{path:'/my',component: My}]
})

2、配置导航,配置路由出口(路径匹配的组件显示的位置)

例如:

    <a href="#/find"></a><a href="#/my"></a>

利用<router-view></router-view>进行视图的展示

2、组件存放目录问题

注意:.vue文件本质无区别

路径相关的组件,需要放置在views目录中

组件分类:页面组件与复用组件

一般页面组件放置在views目录中,而复用组件放置在components目录中

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/38192.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么?中断禁用失效了?

什么&#xff1f;中断禁用失效了&#xff1f; 1. 前言 道友们&#xff0c;在嵌入式的开发中我们不管是RTOS或NO-RTOS的开发&#xff0c;都无法避免“多线程”的应用场景&#xff0c;高优先级的任务或中断打断低优先级的任务或中断&#xff0c;此时为了要保证共享数据的安全性…

单表达式倒计时工具:datetime的极度优雅(Kimi)

一个简单表达式&#xff0c;也可以优雅自成工具。 笔记模板由python脚本于2025-03-22 20:25:49创建&#xff0c;本篇笔记适合任意喜欢学习的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述。 Pyth…

[笔记.AI]多头自注意力机制(Multi-Head Attention)

多头自注意力是深度学习领域&#xff0c;特别是自然语言处理&#xff08;NLP&#xff09;和Transformer模型中的关键概念。其发展源于对序列数据中复杂依赖关系的建模需求&#xff0c;特别是在Transformer架构的背景下。 举例 比喻-读长篇文章 用一个简单的比喻来理解“多头注…

SOFABoot-02-模块化隔离方案

sofaboot 前言 大家好&#xff0c;我是老马。 sofastack 其实出来很久了&#xff0c;第一次应该是在 2022 年左右开始关注&#xff0c;但是一直没有深入研究。 最近想学习一下 SOFA 对于生态的设计和思考。 sofaboot 系列 SOFABoot-00-sofaboot 概览 SOFABoot-01-蚂蚁金…

【实用部署教程】olmOCR智能PDF文本提取系统:从安装到可视化界面实现

文章目录 引言系统要求1. 环境准备&#xff1a;安装Miniconda激活环境 2. 配置pip源加速下载3. 配置学术加速&#xff08;访问国外资源&#xff09;4. 安装系统依赖5. 安装OLMOCR6. 运行OLMOCR处理PDF文档7. 理解OLMOCR输出结果9. 可视化UI界面9.1 安装界面依赖9.2 创建界面应用…

asp.net core mvc模块化开发

razor类库 新建PluginController using Microsoft.AspNetCore.Mvc;namespace RazorClassLibrary1.Controllers {public class PluginController : Controller{public IActionResult Index(){return View();}} }Views下Plugin下新建Index.cshtml {ViewBag.Title "插件页…

边缘计算革命:重构软件架构的范式与未来

摘要 边缘计算通过将算力下沉至网络边缘&#xff0c;正在颠覆传统中心化软件架构的设计逻辑。本文系统分析了边缘计算对软件架构的范式革新&#xff0c;包括分布式分层架构、实时资源调度、安全防护体系等技术变革&#xff0c;并结合工业物联网、智慧医疗等场景案例&#xff0c…

单链表:数据结构的灵动之链

本文主要讲解链表的概念和结构以及实现单链表 目录 一、链表的概念及结构 二、单链表的实现 1.1链表的实现&#xff1a; 1.2单链表的实现&#xff1a; 单链表尾插&#xff1a; 单链表的头插&#xff1a; 单链表的尾删&#xff1a; 单链表头删&#xff1a; 单链表查找&#…

链表题型-链表操作-JS

一定要注意链表现在的头节点是空节点还是有值的节点。 一、移除链表中的元素 有两种方式&#xff0c;直接使用原来的链表进行删除操作&#xff1b;设置一个虚拟头节点进行删除操作。 直接使用原来的链表进行删除操作时&#xff0c;需要考虑是不是头节点&#xff0c;因为移除…

读《浪潮之巅》:探寻科技产业的兴衰密码

引言&#xff1a;邂逅《浪潮之巅》 在信息技术飞速发展的今天&#xff0c;科技公司如繁星般闪烁&#xff0c;又似流星般划过。而我与《浪潮之巅》的相遇&#xff0c;就像在浩渺的科技海洋中&#xff0c;发现了一座指引方向的灯塔。初次听闻这本书&#xff0c;是在一次技术交流会…

【和春笋一起学C++】文本文件I/O

在windows系统中读取键盘的输入和在屏幕上显示输出统称为&#xff1a;控制台输入/输出。把读取文本文件和把字符输出到文本文件中统称为&#xff1a;文本文件I/O。 目录 1. 输出文本文件 2. 读取文本文件 1. 输出文本文件 把字符输出到文本文件中和输出到控制台很相似&#x…

【C#】WinForm自定义控件及窗体

前言 WinForm&#xff08;Windows Forms&#xff09;是Microsoft.NET框架中的技术&#xff0c;用于开发Windows桌面应用程序。它提供了一套丰富的控件和组件。通过拖放控件、编写事件处理程序等方式快速构建用户界面。 通过属性窗口定制这些控件的外观和行为。 通过数据绑定&am…

Live555+Windows+MSys2 编译Androidso库和运行使用

下载 wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz tar -xzvf live555-latest.tar.gz加入版本控制 git init git add . git commit -a -m "first init" git log修改config.android-arm64 cd live vim config.android-arm64 ./genMakefile…

大模型-提示词工程与架构

什么是提示工程 提示工程&#xff08;Prompt Engineering&#xff09;是一门新兴的技术领域&#xff0c;专注于研究如何设计、构建和优化提示词&#xff0c;以充分发挥大模型的潜力 。它涉及到对语言结构、任务需求、模型特性等多方面因素的综合考量。提示工程的目标是通过精心…

Agent Team 多智能体系统解析

引言 在人工智能技术高速发展的今天&#xff0c;"多智能体协作系统"&#xff08;Agent Team&#xff09;正成为突破效率瓶颈的关键技术。与传统的单体AI不同&#xff0c;这种由多个专业化智能体组成的协同网络&#xff0c;通过分工协作和动态调整&#xff0c;展现出…

【蓝桥杯—单片机】IAP15F2K61S2专项 | 真题整理、解析与拓展 | 省赛题(更新ing...)

IAP15F2K61S2 专项 前言IAP15F2K61S2 介绍&#xff08;基于手册&#xff09;I/O口结构复位管脚RST中断第十四届省赛 外设通过PWM控制第十五届省赛题 性能与工作参数在线调试第十四届省赛题拓展与小结&#xff1a;单片机在线调试常用的接口 功耗第十五届省赛题 前言 在本文中我…

生物化学笔记:医学免疫学原理02 抗原概念+免疫应答+抗原的分类

抗原基本概念 影响抗原刺激机体产生免疫应答的因素 抗原的分类 CG 【北京大学】1080p 王月丹教授 《医学免疫学原理》2022春 全81p

(UI自动化测试)第二篇:元素定位的方法_name定位

二、name定位 ⽅法&#xff1a; driver.find_element_by_name(“name属性值”) 前置&#xff1a; 标签必须name属性 特点&#xff1a; 当前⻚⾯可以重复 提示&#xff1a; 由于name属性值可以重复&#xff0c;所以使⽤时需要查看是否为唯⼀。 # 导包selenium from selenium i…

软考中级-软件设计师 准备

软考中级-软件设计师 准备 一、软考相关1.1、考试时间1.2、考试时长1.3、题型和分值&#xff1a; 二、软考备考2.1、相关书籍2.2、推荐课程&#xff1a;B站up主zst_20012.3、学习路线 一、软考相关 1.1、考试时间 一年有两次软考&#xff0c;一般是五月末和十一月的中旬 以下…

记忆力训练day24

一 数字锁链串联法 数字两位 两位的连