Vue学习-项目化

文章目录

  • 插件全局注册
    • 懒加载插件
  • asios基础配置
    • 请求拦截器携带token
    • 响应拦截器处理失效token
  • Pinia配置
    • pinia数据持久化
  • 路由配置
  • 组件封装
  • 表单绑定


插件全局注册

通用性组件通过插件方式全局注册

index.js:

//component中所有组件全局注册
//通过插件方式
import imgView from './imageView/index.vue'
import Sku from './XtxSku/index.vue'export const componentPlugins = {install(app) {//app.component('组件名字',组件的配置对象)app.component('imgView', imgView)app.component('Sku', Sku)}
}

main.js:

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'// 引入样式
import '@/styles/common.scss'//引入懒加载指令插件
import { lazyPlugin } from './directives'
import { componentPlugins } from './components/index'const app = createApp(App)app.use(createPinia())
app.use(router)
app.use(lazyPlugin)
app.use(componentPlugins)
app.mount('#app')

注册持久化插件:xxx.use()

懒加载插件

import { useIntersectionObserver } from '@vueuse/core'export const lazyPlugin = {install(app) {app.directive('img-lazy', {mounted(el, binding) {// el:绑定的元素// binding:binding.value  指令等号后面的表达式的值console.log(el, binding);const { stop } = useIntersectionObserver(el,([{ isIntersecting }]) => {console.log(isIntersecting)if (isIntersecting) {// 进入视口区域el.src = binding.valuestop()}},)}})}
}

asios基础配置

http.js:

import axios from "axios";const httpInstance = axios.create({baseURL: 'http://xxxx',timeout: 5000,
})// 添加请求拦截器
httpInstance.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;
}, function (error) {// 对请求错误做些什么return Promise.reject(error);
});// 添加响应拦截器
httpInstance.interceptors.response.use(function (

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

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

相关文章

linux C/C++ makefile

. ├── aa.sh ├── makefile ├── public.cpp └── public.h 写sh脚本 //aa.sh g -c -o libpublic.a public.cpp g -fPIC -shared -o libpublic.so public.cpp执行ssh脚本 sh aa.sh编写makefile #指定编译的目标文件libpublic.a和libpublic.so all:libpublic.a lib…

HCIA-传输层协议

传输层的俩大协议TCP和UDP 对初学者的要求是对协议有所了解即可,它实现了哪些功能 未来的我这个网普通PC要去访问服务器并与之的数据进行交互 192.168.1.1 -访问-> 192.168.1.2(VX) 192.168.1.1 -访问-> 192.168.1.3(ZFB) 192.168.1.1 -访问-> 192.168.1.…

css特殊效果和页面布局

特殊效果 圆角边框:div{border-radius: 20px 10px 50px 30px;} 四个属性值按顺时针排列,左上的1/4圆半径为20px,右上10,右下50,左下30。 div{border-radius: 20px;} 四角都为20px。 div{border-radius: 20px 10…

Tomcat安装和配置(图文详解)_tomcat安装及配置教程

Tomcat是一个开源的Web应用服务器,它是Apache软件基金会的一个项目。Tomcat被广泛用作Java Servlet和JavaServer Pages(JSP)技术构建的Web应用程序的运行环境。 它是轻量级的,适合中小型系统和并发访问用户不是很多的场合&#x…

外界访问docker服务失败

各位i大佬请问一下:我容器起了,但是外网访问不了目标机器的9090端口。 我检查了:1.本机的防火墙已关闭, 2.目标机器的9090端口显示正在被docker监听。 3.外网可以访问目标机器。 4.docker日志,未显示服务报错。 5…

【教学类-60-01】彩色消划掉01(四个数字,X*Y宫格)

背景需求: 🧠思维启蒙 - 小红书注意力训练小分享-彩色划消 训练孩子的视觉辨别能力、视觉稳定性、注意力分配额能力👀 一起来试试吧~ #分享学习方法 #注意力训练 #专注力训练#天津 #亲子时光 #孩子成长 #思维启蒙 #数学思维启蒙 …

c++中 unordered_map 与 unordered_set 用法指南

unordered_map 与 unordered_set 区别与联系 unordered_map 和 unordered_set 都是 C 标准模板库(STL)中的容器,它们使用哈希表作为底层数据结构,提供了快速的查找、插入和删除操作。下面是它们之间的联系与区别: 联系…

栈的应用:实现逆波兰计算器

开篇 本篇文章是学习数据结构过程中的笔记,所以有时代码可能不够完整,会在后续的学习中记录下更完整的代码版本。 思路分析 后缀表达式又称逆波兰表达式,与前缀表达式类似,只是运算符位于操作数之后 举例说明:(34)*5-6…

[图解]企业应用架构模式2024新译本讲解06-表模块3

1 00:00:00,800 --> 00:00:03,470 接下来,我们来看这个序列图 2 00:00:04,400 --> 00:00:05,740 因为序列图比较大 3 00:00:06,180 --> 00:00:09,770 我们就不好放在幻灯片里面来看了 4 00:00:11,060 --> 00:00:12,130 下面还有很多 5 00:00:13,950…

Python魔法之旅-魔法方法(08)

目录 一、概述 1、定义 2、作用 二、应用场景 1、构造和析构 2、操作符重载 3、字符串和表示 4、容器管理 5、可调用对象 6、上下文管理 7、属性访问和描述符 8、迭代器和生成器 9、数值类型 10、复制和序列化 11、自定义元类行为 12、自定义类行为 13、类型检…

计算机毕业设计hadoop++hive微博舆情预测 微博舆情分析 微博推荐系统 微博预警系统 微博数据分析可视化大屏 微博情感分析 微博爬虫 知识图谱

摘 要 随着社交媒体的普及和互联网技术的快速发展,热点舆情事件频发,对于政府、企业和公众来说,及时了解和分析热点舆情,把握舆论走向,已经成为一项重要的任务。然而,传统的数据处理和分析方法在面对海量…

关于如何通过APlayer+MetingJS为自己的wordpress博客网页添加网易音乐播放器(无需插件)

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:最近在网上冲浪,发现大家的博客大部分都有一个音乐播放器能够播放音乐,随机我也开始寻找解决方法。可是找来找去我…

FreeRTOS学习笔记【1】

本文章为本人学习FreeRTOS时的笔记,学习时使用 STM32 SPL库Keil开发环境。 之前发过这篇文章但不知为何在CSDN上MD格式无法显示,故重新发一次。(真不是水浏览量) 文章目录 操作系统启动步骤1.定义任务函数2.空闲任务与定时器任务堆栈函数实现3.定义任务…

8岁孩子学编程有什么用:开启未来科技之旅的钥匙

8岁孩子学编程有什么用:开启未来科技之旅的钥匙 在科技日新月异的今天,编程已经成为一项不可或缺的技能。对于8岁的孩子来说,学习编程不仅能够培养他们的逻辑思维能力,还能激发他们的创新思维和解决问题的能力。那么,…

六大全开源的工作流引擎Activiti、Flowable、jBPM、Camunda、JFlow、osworkflow对比

六大全开源的工作流引擎Activiti、Flowable、jBPM、Camunda、JFlow、osworkflow在多个方面有着各自的特点和优势,以下是对这些工作流引擎的对比: Activiti: 概述:Activiti是一个开源的工作流引擎,实现了BPMN 2.0规范&…

设计模式基础知识点(七大原则、UML类图)

Java设计模式(设计模式七大原则、UML类图) 设计模式的目的设计模式七大原则单一职能原则(SingleResponsibility)接口隔离原则(InterfaceSegreation)依赖倒转原则(DependenceInversion&#xff0…

R语言绘图 --- 柱状图(Biorplot 开发日志 --- 3)

「写在前面」 在科研数据分析中我们会重复地绘制一些图形,如果代码管理不当经常就会忘记之前绘图的代码。于是我计划开发一个 R 包(Biorplot),用来管理自己 R 语言绘图的代码。本系列文章用于记录 Biorplot 包开发日志。 相关链接…

目标检测——农业障碍物检测数据集

引言 亲爱的读者们,您是否在寻找某个特定的数据集,用于研究或项目实践?欢迎您在评论区留言,或者通过公众号私信告诉我,您想要的数据集的类型主题。小编会竭尽全力为您寻找,并在找到后第一时间与您分享。 …

Kubernetes——YAML文件编写

目录 一、创建Kubernetes对象YAML文件必备字段 1.apiVersion 2.kind 3.metadata 4.spec 二、YAML格式基本规范 1.结构表示 2.键值对 3.列表(数组) 4.字典(映射) 5.数据类型 6.注释 7.多文档支持 8.复杂结构 9.示例 …

Vuex 的安装与配置

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介Vuex 的安装与配置1. 安装 Vuex使用 npm 安装使用 yarn 安装 2. 配置 Vuex创建和配置 store将 store 注入到 Vue 实例中 3. 在组件中使用 Vuex访问 State提交 Mutation分发 Action使用 Getter 原理解析小结 ⭐ 写在最后 ⭐ 专栏简介…