- 博客(14)
- 收藏
- 关注
原创 快速生成二维码与条形码的前端技巧
JsBarcode支持多种条形码格式(CODE128, EAN, UPC等)。QRCode是一个纯JavaScript库,无需依赖即可生成二维码。,信息量小,通常只能存数字或短字符串(如商品编码、订单号)。一般需要扫码枪扫码。
2026-06-11 14:28:24
232
原创 组件通信2
通信方式适用场景备注props$emit直接嵌套的外层/内层最基础,优先使用EventBus简单同级组件或无关联组件容易混乱,少用状态提升同级组件且有共同外层数据流清晰Vuex全局共享、复杂交互好用provideinject跨多层级传递配置或工具适合静态数据$refs外层需要直接操作内层(如聚焦、表单校验)命令式,偶尔使用v-model.sync双向绑定的快捷写法本质仍是 props + emit作用域插槽内层提供数据,外层控制渲染灵活定制 UI路由/本地存储。
2026-05-21 10:19:38
228
原创 组件通信1
能用props$emit解决的,就用它们(保持组件独立)。当数据需要在很多地方共享,或跨多个层级时,再考虑 Vuex。EventBus 只在极简单、一次性场景下使用,正式项目里尽量用 Vuex 或状态提升替代。
2026-05-20 10:07:39
35
原创 axios封装
这样换环境只需要改配置文件,代码零改动。不把具体接口写在组件里,而是按业务模块创建。接口地址硬编码,换个环境就要改所有地方。完全不用在组件里直接调接口,数据流清晰。mutation 更新 state。开头的变量才能在项目代码里通过。与组件逻辑耦合,难以维护和测试。里调用封装好的接口,然后。(基础URL、超时时间等)现在所有请求都通过这个。错误提示方式不统一。
2026-05-14 14:55:35
56
原创 混入(mixin)
data() {return {commonMsg: '我是混入带来的数据'},methods: {console.log('混入的方法');},console.log('混入的 created 执行了');
2026-05-11 16:05:16
227
原创 vuex从0开始学习与使用
state→ 数据mutation→ 唯一能改数据的地方action→ 处理逻辑和异步的地方,最终会调用 mutationmodules→ 把仓库按功能分块mapState等辅助函数 → 只是在组件里快速绑定 state,不用手写。
2026-05-07 10:48:19
358
原创 JS基础——this
如果多个规则同时出现,优先级从高到低:箭头函数?→ 直接取定义时的外层 this,后面的规则都不适用。用了new?→ 指向新对象。用了?→ 显式绑定。通过对象点出来调用(obj.fn()→ 隐式绑定。啥都没有直接调用?→ 默认绑定(严格下是 undefined,非严格是全局对象)。
2026-04-30 10:26:04
195
原创 js基础知识学习
关键原理回到执行上下文和垃圾回收:通常函数执行完后,其变量对象会被当作垃圾回收。但如果这个函数内部定义了另一个函数,并把这个内部函数传递到了外部(比如作为返回值),那么内部函数会保持对外部函数变量对象的引用。外部函数执行完了,但其变量对象因为被内部函数引用而。
2026-04-27 10:52:03
217
原创 原型与原型链的学习理解
1.什么是函数的显式原型?区分和对象原型的区别。2.函数原型的作用?再通过new操作创建对象时,将这个显式原型赋值给创建出来的对象的隐式原型。3.案例Person,将所有的函数定义放在显式原型上,所有的对象都可以共享这些方法。
2022-09-28 22:50:47
162
原创 JS八股记录
在项目开发中,JSON作为前后端数据交换的方式,在前端通过将一个符合JSON格式的数据结构序列化为JSON字符串,然后将它传递到后端,后端通过JSON格式的字符串解析后生成对应的数据结构,以此来实现前后端数据的一个传递。arguments是函数内自带的内置对象,他的属性是从0开始依次递增的,还有length等属性,与数组相似,但是没有数组常见的方法属性,所以叫伪数组。最后,判断该对象的返回类型,若为值类型,返回创建的对象,若为引用类型,返回该引用类型的对象。因为箭头函数没有自己的this值,所以箭头函数。
2022-09-28 15:36:35
342
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅