编程经验
高山我梦口香糖
这个作者很懒,什么都没留下…
展开
-
观察者模式和发布订阅模式
接下来会举例小孩被大人观察的例子,大人时刻监听小孩的状态,如何做到,被观察的类观察者类好了,接下来写代码测试一下。原创 2022-08-22 19:26:35 · 340 阅读 · 0 评论 -
[object Object] could not be cloned.indexed 的put函数只能接受一个引用为0的对象
put函数不能拷贝对象,要传入一个引用为0的对象这样就可以了,深拷贝一下原创 2022-06-19 18:01:35 · 1741 阅读 · 0 评论 -
[优化]用异步立即执行函数解决异步读取indexedDb接口语言刷新闪烁问题
原本的i18n设置语言默认是中文,然后组件挂载的时候去读取本地的语言这样虽然可以解决,但因为默认是中文,然后挂载的时候再去读取语言,这样会导致一个问题,就是刷新的时候显示默认中文,然后再去本地读取语言再替换,也就是说我切换为英文,刷新网页,他会显示显示中文再显示英文,所以能不能在创建i18n的时候直接读取呢?但是又有问题,因为接口是异步执行的,所以报错,那能不能用同步的方式读取异步接口,得到数据再挂载上去呢?当然可以,async await就是首先写一个异步函数这样的话先从本地读取到语言再设置到loc原创 2022-06-17 14:51:19 · 507 阅读 · 0 评论 -
[优化]用indexedDb代替localstorage本地化多语言
搞个Db类再写两个触发函数,一个保存,一个获取初始化再调用即可原创 2022-06-17 14:00:17 · 221 阅读 · 0 评论 -
用promsie解决IndexedDb异步问题
就像这样,promise类里面的方法我直接同步调试时调用会报错,因为是异步的,那咋办第一种可以用回调函数的形式,例如点击button,就可以不报错,因为创建数据库要时间,不信的话加个定时器就行了,如果用点击函数的方法,你点击的时候早就创建完了第二种就是用return promise返回创建好的数据库这样的话可以用then里面调用,但这样不行,可以用async await调用,同步的方式调用异步方法接下来用mock模拟一下工具类接口封装...原创 2022-06-16 17:47:43 · 1113 阅读 · 2 评论 -
用异步执行解决echarts不显示数据
代码如下echarts画图,DOM渲染的时候,echarts实现先从后端获取数据再渲染 ,但是执行顺序是先执行再执行也就是数据都没而渲染需要的事数据先有再执行,所以得用同步的方法执行,用async await...原创 2022-06-14 09:07:00 · 1360 阅读 · 0 评论 -
事件对象传递的两种写法
有代码如下这是饿了么ui的switch组件的切换,切换开关触发可拿到布尔值先看第一种写法,打印如下 a是undefined,b可以拿到对象,也就是说拿不到事件对象,拿不到布尔值再看下b 所以说这两种写法有何不同呢 这要设置到事件了,API — Vue.js,官网这么说的 如果我想用第一种写法就得改造成这样,因为饿了么ui它是以事件对象传递的,所以要写成这样 那为什么第二种方法可以?回想,如果你触发一个函数,比如默认第一个参数他是会有打印的,但注意别写成这样原创 2022-06-10 13:16:38 · 562 阅读 · 0 评论 -
switch组件踩坑接收不到布尔值
我想改变状态,但是收不到布尔值?咋回事? 一看官网,原来是个事件,也就是说要$event才能拿到他给我的值这样就搞定啦 又或者用回调函数形式原创 2022-06-09 12:47:51 · 184 阅读 · 0 评论 -
[vue3项目实战小问题]proxy转普通对象
点击编辑,把当前行的对象传过去,但是我拿到的一个proxy 怎么办?没关系,转为普通对象就可以操作了 ,好像不转也可以,,state里面本身就是proxy原创 2022-06-09 12:41:03 · 11153 阅读 · 2 评论 -
监听beforeunload解决数据刷新丢失方案
一刷新,我的tab就没了,上代码监听刷新动作,把数组转字符串,然后拿的时候用JSON.parse(session),取出来转成数组最后记得在挂载函数中调用原创 2022-06-07 18:18:43 · 358 阅读 · 0 评论 -
侧边栏递归组件的使用
组件长这样在外面使用,传入数据原创 2022-06-07 14:39:47 · 329 阅读 · 0 评论 -
宏任务和微任务
先说结论,微任务执行比宏任务早,先同步后异步,先微后宏宏任务:seTtimeout, dom事件,ajax请求微任务:promise,asybc/await有代码如下console.log(1);setTimeout(() => { console.log(2);}, 0);Promise.resolve().then(res => { console.log(3);})console.log(4);打印结果不出意外是1432,为什么?因为同步代码先执行,原创 2022-05-31 16:26:44 · 258 阅读 · 0 评论 -
js类和构造函数的4点差异
一,变量提升问题 console.log(Man); function Man(name, age) { this.name = name this.age = age }是可以打印的但是用类的方法,就有暂时性死区了console.log(Man); class Man { constructor(name, age) { this.name = name this.age = age原创 2022-05-02 12:29:50 · 1771 阅读 · 0 评论 -
摘抄vue2官网的长句,跟着尤玉溪学英文
记录一下第一眼看着别扭的句子At the core of Vue.js is a system that enables us to declaratively render data to the DOM using straightforward template syntax:字面意思:vue.js的这个核心是一个系统,可以使我们声明式地渲染data到dom上面,使用这种直观的模板语法顺序中文:Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统一个定原创 2022-04-20 11:49:28 · 467 阅读 · 0 评论 -
js少写一个分号引发的Cannot access ‘b‘ before initialization
js自从惯了不写分号,就不写,现在出错了!在《javascript权威指南》中有-段话“如果一条语句以“ (”、 “[”、 “/”、 “+”、或“-”开始,那么它极有可能和前一条语句合在一起解释。 ”,写javascript的时候, 如果每条语句都独自写成一行,是不需要写分号的,但是下一行如果遇到上面提到的符号,javascript可能会与下一 -行合并解释。其中以“/”、 “+” 和“一”开头的语句在实现项目中比较少见,以“(”和“[” 开头的则非常常见。浏览器识别成 let b = 2 [a原创 2022-04-07 13:05:34 · 2274 阅读 · 0 评论 -
【小技巧】5分钟内教不会你部署vue项目到docker
让我在5分钟你教不会你把项目部署到docker,前提是你得服务器装有docker,这里方便装宝塔,大佬当我没说。大致分为3步:第一是弄一个nginx的配置文件然后构建镜像的时候把它放进去取代原来的配置和写Dockerfile生成镜像的一些配置第二是生成镜像第三是生成启动容器,ok开始,顺便抛砖引玉第一步server {listen 80;server_name localhost; # docker服务宿主机的iplocation / {root /..原创 2022-04-02 22:29:57 · 3595 阅读 · 5 评论 -
【折腾】非响应式数据为何不能用let而是this
非响应式数据定义在return{}外, ,照理data()也是个函数,为何用let定义外面无法访问,要用this.属性=““ 才可以,是因为作用域问题吗得出结论:在datareturn外定义的用let var name声明的数据不过是普通变量,无法被外界访问,当然不信是个函数可以打印一下data渲染后再到mounted...原创 2022-03-25 13:48:35 · 427 阅读 · 0 评论 -
显示切换思路
本来一直用这种思路的,但想想,可以通过第三者代理,也就是真假,如果是真就显示第一个,假就显示第二个原创 2022-03-24 12:22:57 · 305 阅读 · 0 评论 -
切换Tabs不用tab-click实现echarts切换title
自带的tab-click可以传进去当前组件,里面有当前点击tab的label以及属性,但是可以不用这么做,思路是监听tab的变化,此时我的title绑定的是tab的值,也就是说tab一遍我的title就变然后监听title,把mounted的echat实例更改就行了问题来了这时候可以把echart实例挂载到组件上面去...原创 2022-03-19 22:20:45 · 1107 阅读 · 0 评论 -
elem照片墙使用
把返回的数据处理一下原创 2022-03-13 21:55:20 · 347 阅读 · 0 评论 -
从组件触发子组件发请求思路
因为子组件是通过v-show显示隐藏的,用mount的话不适合,因为只会挂载一次,要实现点击一下子组件就发一次请求不能实现,也就是让子组件重新挂载才行,但这样浪费性能是吧所以如何在父组件中调用子组件的方法?也就是说让子组件自己发请求...原创 2022-03-13 16:22:02 · 855 阅读 · 0 评论 -
再次用到nextTick
在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。==============对了,先给input绑定索引值,不然的话,点击的话全部input都获取焦点了============================点击新增属性值也用到因为之前每个input都渲染到 ref=$index, 例如第四个是$refs[index]是3,数组最后一个元素下标可以用长度减去1得到,4减去1等于3下标,所以直接加上fo...原创 2022-03-11 21:39:37 · 91 阅读 · 0 评论 -
编辑模式无法切换输入模式,添加上响应式解决
原创 2022-03-11 20:54:31 · 119 阅读 · 0 评论 -
elementUI行内表单的使用
原创 2022-03-09 22:55:30 · 1178 阅读 · 0 评论 -
表单验证规则的值必须是form里面的
prop 表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的 string 传入 Form 组件的 model 中的字段原创 2022-03-09 20:50:46 · 352 阅读 · 2 评论 -
增加和修改的差异是有没带id思路以及防止直接修改表格
标题也可以动态绑定防止直接修改表格===============================原创 2022-03-09 20:28:19 · 178 阅读 · 0 评论