Vue3组件通信方式 全局事件总线
需要引入 mitt 来使用
123456789101112131415161718192021222324$ npm install --save mitt//引入mitt插件:mitt一个方法,方法执行会返回bus对象import mitt from 'mitt';const $bus = mitt();export default $bus;//引入$bus对象import $bus from '../../bus';//点击按钮回调const handler = ()=>{ $bus.emit('car',{car:"法拉利"});}import $bus from "../../bus";//组合式API函数import { onMounted } from "vue";//组件挂载完毕的时候,当前组件绑定一个事件,接受将来兄弟组件传递的数据onMounted(() => { ...
Vue3通信方式 provide与inject
父子组件传参可以通过props和emit来实现,但是当组件的层次结构比较深时,props和emit就没什么作用了。vue为了解决这个提出了Provide / Inject
1234567//vue3提供provide(提供)与inject(注入),可以实现隔辈组件传递数据import { ref, provide } from "vue";let car = ref("法拉利");//祖先组件给后代组件提供数据//两个参数:第一个参数就是提供的数据key//第二个参数:祖先组件提供数据provide("TOKEN", car);
1234567import {inject} from 'vue';//注入祖先组件提供数据//需要参数:即为祖先提供数据的keylet car = inject('TOKEN');const updateCar = ()=>{ car.value = '自行车'; ...
vite项目集成eslint和prettier
https://blog.csdn.net/jieyucx/article/details/131449029eslint 有关插件
1npm install eslint eslint-plugin-vue @typescript-eslint/parser @typescript-eslint/eslint-plugin eslint-config-standard eslint-plugin-import eslint-plugin-promise eslint-plugin-node -D
https://blog.csdn.net/qq_53225741/article/details/127113104
Vue3+Ts+Vite项目(第三篇)——配置husky、stylelint、commitlint,配置git提交代码校验https://blog.csdn.net/qq_61402485/article/details/131612959
vue 子父组件互相改值
在Vue.js中,子组件想要修改父组件的状态(如数据属性的值)时,通常遵循以下步骤:
父组件向子组件传递数据:通过props(属性)将需要被子组件操作的值传入子组件。例如,在父组件模板中使用子组件时,将父组件的数据作为prop绑定到子组件上。1234567891011121314151617<!-- 父组件模板 --><template> <ChildComponent :parentValue="parentStateToModify" /></template><script>import ChildComponent from './ChildComponent.vue';export default { data() { return { parentStateToModify: '初始值', }; }, components: { ChildComponent ...
Vue3通信方式 插槽
插槽就是子组件中的提供给父组件使用的一个占位符,用 表示,父组件可以在这个占位符中填充任何模板代码,如 HTML、组件等,填充的内容会替换子组件的标签,父组件填充的内容称为插槽内容。
子组件不提供插槽时,父组件填充失效父组件无填充时,中的备用内容会启用生效父级模板里的所有内容都是在父级作用域中编译的,子模板里的所有内容都是在子作用域中编译的,互不影响
作者:蜡笔小杨链接:https://juejin.cn/post/7195127950193688631来源:稀土掘金著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
123456789101112131415161718192021222324252627282930313233343536373839404142434445<template> <div> <h1>slot</h1> <Test1 :todos="todos"> <template v-slot="{ $row, $i ...
java 使用 jSerialComm 对串口使用发送信息并接收
什么是 jSerialComm?jSerialComm 是一个 Java 库,旨在提供一种独立于平台的方式来访问标准串行端口,而无需外部库、本机代码或任何其他工具。它旨在替代 RxTx 和(已弃用的)Java Communications API,具有更高的易用性、对超时的增强支持以及同时打开多个端口的能力。
官方网站http://fazecast.github.io/jSerialComm/maven jar 包 引入,在项目根目录引入lib 将jar包放在下面
1234567<dependency> <groupId>jSerialComm</groupId> <artifactId>jSerialComm</artifactId> <systemPath>${project.basedir}/lib/jSerialComm-2.11.0.jar</systemPath> <version>2.11.0</version> <scope>sys ...
设计模式 适配器模式
适配器模式适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。
适配器模式的结构适配器模式通常涉及以下几个角色:
目标(Target): 定义客户端所期望的接口。
适配者(Adaptee): 定义一个已经存在的接口,需要适配这个接口以便与目标接口兼容。
适配器(Adapter): 适配器类通过继承或组合的方式持有适配者的引用,并将适配者的接口转换为目标接口。
适配器模式的类型适配器模式有两种主要类型:
类适配器模式:适配器类通过继承适配者类和目标接口来实现。期望实现接口, 我们 用 mobilePhone 来表示期望实现的接口信息
1234567package AdapterModel;public interface Target { public String mobilePhone(String model);}
原有接口 实体信息, 现在这个 不适用于最新的信息, 最初这个接口只支持信息是 xiaomi2
123456789package AdapterM ...
设计模式 门面模式
门面模式门面模式又称外观模式.提供了一个统一的接口用来访问子系统的一群接口.主要特征是提供了一个高层接口,让子系统更容易使用,属于结构型模式.
外观角色(FacadeService):又称门面角色.系统对外的统一接口.子系统角色(SubSystem): 可以同时有一个或者多个的SubSystem.每个SubSystem都不是一个类,而是一个类的集合.SubSystem并不知道FacadeService的存在.对于FacadeService相当于是一个客户端而已.
1234567891011package FacadeModel;public class Facade { Facade1 facade1 = new Facade1(); Facade2 facade2 = new Facade2(); public void test(){ facade1.a(); facade2.b(); }}
123456789package FacadeModel;public class Facade1 ...
Spring Cloud RestTemplate 使用
RestTemplate简绍RestTemplate同步客户端执行 HTTP 请求,通过底层 HTTP 客户端库(例如 JDK HttpURLConnection、Apache HttpComponents 等)公开简单的模板方法 API。除了支持不常见情况的通用方法 exchange之外,RestTemplate 还通过 HTTP 方法提供常见场景的模板。executeRestTemplate 通常用作共享组件。但是,其配置不支持并发修改,因此其配置通常在启动时准备。如果需要,您可以在启动时创建多个不同配置的 RestTemplate 实例。ClientHttpRequestFactory 如果需要共享 HTTP 客户端资源,这些实例可以使用相同的底层。
具体在使用Spring boot 中使用可以自己在 创建个配置类 @Bean 注入 或者在 启动方法中 去进行Bean注入
12345678910111213@SpringBootApplicationpublic class CartApplication { public static void main(Str ...
Spring Cloud Nacos 使用
docker 启动 nacos1docker run --name demo-nacos-server -p 8848:8848 -p 9848:9848 -p 9849:9849 --privileged=true --restart=always -e JVM_XMS=256m -e JVM_XMX=256m -e MODE=standalone -e PREFER_HOST_MODE=hostname -d nacos/nacos-server:v2.4.0.1
建立spring cloud 父项目需要的jar 包spring cloud dependencies 整合了所有需要的 微服务组件以供直接调用
1234567891011121314151617181920212223242526272829303132<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> ...
