- 博客(30)
- 收藏
- 关注
原创 面试准备的小问题
设想一个场景,需要把pinia里的json对象a赋值给变量b,b=a;这时对b进行遍历,遍历完后发现变量a的值也跟着变化了。原因是对b的赋值是浅拷贝,地址还是指向变量a,浅拷贝只复制指向某个对象的指针,而不复制对象本身,新旧对象还是共享同一块内存。所以这时就要用到深拷贝,深拷贝会另外创造一个一模一样的对象,新对象跟原对象不共享内存,修改新对象不会改到原对象,是“值”而不是“引用”。用法也很简单只需要b=json.parse(json.stringfy(a))
2023-11-07 17:01:21
149
原创 vue3 实现后台下拉选择控制组件的大小
element 大小有第三个值:small,defaukt,large。不可能设置一个全局变量,然后每个组件都绑定 :size=size.
2023-11-06 16:49:32
147
原创 pinia 监听,$subscribe与watch的区别
区别就是$patch去改变pinia的值,无论值改没改变,订阅都能监听到。而监听只能是值改变了以后才能监听到,这就是区别。
2023-11-06 10:59:46
527
原创 为什么echarts图表在页面刷新的时候就没有了
控制台报错:ECharts] There is a chart instance already initialized on the dom.判断有没有,如果有,那就销毁,再重新渲染。
2023-10-31 09:22:13
519
原创 你知道深拷贝怎么用吗
当你把pinia里的变量赋值给某个变量a,然后你要对这个变量a进行操作,最后你会发现这个变量a改变了,pinia里的变量也跟着一起改变了。为了避免这种情况,就需要深拷贝,不能简单赋值。这样就可以操作变量arr,就不会改变rightlist了。
2023-10-27 14:26:50
59
原创 vue3 后台管理系统路由切换页面的动画过渡效果失败的问题
vue3 后台管理系统路由切换页面的动画过渡效果失败的问题,为什么切换路由,没有动画过渡。原来是组件里template 下 放了多个div,在最外层再讨一个div 就可以了。代码没有问题,问题出在哪里。
2023-10-19 09:37:38
300
原创 在route.js文件中使用pinia,createPinia只执行一次,数据持久化还是失效
这是一个大bug,页面刷新持久化失效,只有一个store文件无法持久化,也就是说sessionStorage里存不进去。页面一刷新,user.rightList里的数据就消失,持久化也没有用,别的store都可以持久化。虽然解决了,但还是搞不懂为什么会这样,这是pinia天生的bug吗,希望有大佬解答。最后的解决办法是手动添加sessionStorage。这是我在route.js文件里引用pinia的方式。
2023-10-11 14:56:16
315
原创 Vue3 动态路由刷新页面白屏解决方案
可是页面刷新白屏,因为在app挂在之后,找不到路由,所以把获取动态路由的方法放在main.js中就可以了。这是我添加动态子路由的方法。
2023-10-10 16:26:48
690
1
原创 ts+ pinia 持久化,标红
看网上都是这么写的,没有问题啊。后来,我加了泛型,就可以了。不知道还有没有更好的解决办法,希望有大神赐教!我怎么感觉ts这么难用啊。
2023-09-21 17:34:21
114
原创 小程序textarea要点两次键盘才会弹出
小程序textarea组件要点击两次键盘才会弹起来,原因是因为微信官方监听键盘的方法有bug。点击第一次的时候获取到的高度为0,我们知道只是在第一次点击的时候获取到键盘高度为0,那么问题就好办了,我们可以加一个变量K=true来标记是第一次点击。然后在bindfocus方法里把k改成false,这样就说明不是第一次点击了,代码如下。这时会执行if里面的内容,从而导致输入框失去焦点收回键盘。这样就完美的避开了textarea要点两次键盘才会弹出的坑。
2022-10-31 13:13:13
1390
原创 小程序循环上传多张图片到腾讯云桶,实现异步转同步的方法
在循环图片路径的时候调用readImg的方法,再把返回的结果传给下一个异步方法。首先把读文件服装成一个promise。
2022-10-22 17:33:42
559
原创 Unexpected reserved word ‘await‘
只知道把async 放在离await 最近的函数位置就解决了 DeleteInfo() { wx.showModal({ title: '提示', content: '确认删除吗', async success(res) { if (res.confirm) { await request({ }).then(res => { })
2022-05-17 10:26:08
881
原创 小程序双括号里怎么写函数
首先新建一个.wxs文件var dateFormat = { dateToStr: function (value) { return value.substring(0,7) }}module.exports = { dateToStr: dateFormat.dateToStr}// module.exports.dateToStr = dateFormat.dateToStr然后在需要用到的wxml页面引入<wxs module="common"
2022-05-17 10:01:32
494
原创 小程序子组件收不到父组件异步请求传过来的值
使用监听 oberserveproperties: { selected: { type: Number, value: '' } }, data: { curtab: 500 }, observers: { 'selected': function() { this.setData({ curtab: this.data.selected }) } },https
2022-05-14 11:20:37
451
原创 小程序选中第三列的元素,第二列常亮,第一列也常亮
wxml<view wx:if="{{type=='check'}}" class="box"> <scroll-view class='nav_left' scroll-y='true'> <block wx:for="{{list}}" wx:key="{{index}}"> <view class="nav_left_items {{item.checked==true?'active':''}} {{curNav==it...
2022-05-13 11:58:27
154
原创 小程序给某个指定下标的元素赋值
chooseImg(e) { console.log("选择的图片", e) let index = e.currentTarget.dataset.index; //外层wx:for的下标 resumeLicensesNameFullList的下标; let indexImg = e.currentTarget.dataset.childindex; //图片的下标resumeLicensesPathFullList的下标; let resumeLice.
2022-05-09 14:44:54
607
原创 小程序一行排四个
css.box-b-tab { width: 22%; padding: 16rpx 0rpx; text-align: center; border-radius: 8rpx; background-color: rgba(229, 240, 247, 1); border: 2rpx solid rgba(199, 221, 255, 1); color: rgba(78, 127, 255, 100); font-size: 24rpx; margi...
2022-05-05 16:52:25
880
原创 小程序排版,一行放三个元素
css.gzfl { display: flex; flex-wrap: wrap; /* border: 1rpx solid red; */}.gzfl-tab { width: 32%; text-align: center; color: rgba(50, 50, 50, 100); font-size: 24rpx; padding: 16rpx 0; border-radius: 8rpx; background-color: rgba...
2022-05-04 17:15:46
1402
原创 多个下拉框列表实现
wxml<view wx:for="{{professionalList}}" wx:key="id"> <view class="nav-son" bindtap="show" data-index="{{index}}"> <view class="title {{listShow[index].show?'active':''}}">{{item.title}}</view> <view class...
2022-04-28 11:04:55
268
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人