vvhl

vvhl 查看完整档案

福州编辑  |  填写毕业院校  |  填写所在公司/组织 vvhl.me 编辑
编辑

签名是什么能吃吗

个人动态

vvhl 提出了问题 · 2020-11-20

安卓使用了腾讯x5的webview里面输入法会把输入框遮住

请教一下有没有人知道怎么解决这个问题,在安卓app里面,webview里的输入框聚焦时,输入法弹出来会遮住输入框,看不见自己输入的字,想问问这个有没有办法解决,内核是腾讯的X5

以下图片网络上找的,仅供参考

image.png

关注 2 回答 1

vvhl 提出了问题 · 2020-11-13

关于MVVM和MVC的一个疑问

已知vue/react/angular都是当前主流的MVVM框架,然后根据我目前的搜索和认知:
MVC是指:数据--->控制器---->视图

然后这个控制器的概念应该是相对于服务端说的吧?就是写一套服务端的业务逻辑,去处理视图所需要的数据返回给视图,然后前端就拿着这个数据使用老土的方式去修改视图层。据我所知服务端返回的也是一个json数据

那么问题来了,MVVM,服务端就不需要控制器了吗?即使使用MVVM,服务端也是返回一个JSON数据,和以前的数据结构也没有区别,那是不是指服务端的Controller还是存在的,因为VM是针对前端的概念,VM是前端通过JS来实现一个虚拟DOM然后在拿到JSON数据后 渲染到视图层上

所以MVVM是不是其实是 MVCVM ?

请问下我上面有没有理解错的,帮我分析一下,谢谢!

关注 3 回答 1

vvhl 赞了回答 · 2020-09-29

webpack如何才能替换全部图片url为cdn的地址

谢谢@cs_victor给的思路, 最后捣鼓出来了,
我用的是vue cli3, 较早版本的道理也一样, 根据这个改一下就行

module.exports = {
chainWebpack: config => {
    config
      .module
      .rule("images")
      .test(/\.(jpg|png|gif)$/)
      .use("url-loader")
      .loader("url-loader")
      .options({
        // 使文件大小小于此limit值(单位为byte)的文件转换为base64格式
        // 大于此limit的, 会执行options中的fallback配置项插件, fallback默认值为file-loader, 
        // 而url-loader的options配置项也会被传递给file-loader
        limit:10,
        // 根据环境使用cdn或相对路径
        publicPath: process.env.NODE_ENV === 'production' ? 'https://oss.xx.com/img' : './',
        // 将图片打包到dist/img文件夹下, 不配置则打包到dist文件夹下
        outputPath: 'img',
        // 配置打包后图片文件名
        name: '[name].[ext]',
      })
      .end();
}

关注 7 回答 4

vvhl 提出了问题 · 2020-09-22

解决Prefetch在浏览器空闲时进行下载,到底怎样算空闲

最近在做网页加载资源的优化,发现如果vue中的资源使用懒加载的模式,js文件都是prefetch的状态。但是我有一个疑问

prefetch的定义为:只是提前告诉用户即将要用到的其他页面的文件,但是会不阻塞首页的渲染和onload事件,在浏览器空闲时进行加载

那么怎样算是浏览器空闲时?

例如我项目一共100个Js文件,首页10个,那么其他90个js都是Prefetch的状态,这时我首页页面渲染出来了,其余的90个文件开始偷偷在后台下载吗

如果我此时点击了跳转,从首页跳到了某个B页面,那90个会继续排在B页面的资源加载之后再加载,还是需要等90个都加载完了才会加载B页面的js呢??

关注 3 回答 1

vvhl 赞了回答 · 2020-09-07

安卓app内嵌vue项目搭的web页面,部分机型会卡死

从内存递增看,确实是内存已经溢出,你需要在相关页面消毁前,把对应的变量设置为null清除;

从上图可以看到Object、Array、closure闭包、VueComponent页面渲染等等出现溢出问题;

  1. 可以点开Object、Array查看哪个变量没有清除,页面消毁前清除即可;
  2. closure闭包,则可能是自己写的包有问题,或者是一些外部js,需要在页面消毁前,调用方法消毁实例之类的;
  3. VueComponent溢出则是数据渲染过多,比如table列表渲染2万条数据会出现过多,一般做分页处理。如果后端接口不支持,则需要前端根据滚动到底部,再自己做分页处理;

关注 3 回答 2

vvhl 提出了问题 · 2020-09-07

安卓app内嵌vue项目搭的web页面,部分机型会卡死

在进行安卓内嵌webview页面的项目时,部分安卓机型出现用户用着用着就卡死了,系统提示等待或关闭app(华为荣耀系列)。目前只猜测可能是前端的webview内存爆了,导致卡死。前端是用vue搭的项目,想问问有没有遇到过类似问题的小伙伴,我想有偿咨询一下,困扰了我很久了

想聊一下一下如果是前端的内存问题,该怎么去判断
这是我用chrome浏览器的Memory跑的一次快照,但是不知道怎么看,这个是本地环境跑的:

image.png
从这个图看,数据是不停的增加的,不知道这个是不是就是内存溢出了。

关注 3 回答 2

vvhl 提出了问题 · 2020-08-06

axios在ios上状态码经常为0(非必现)

有没有人遇到过这样的问题:

在移动端包壳app上(原生app包壳内部h5代码),使用vue搭建的页面使用axios请求,经常会出现请求没发成功状态码为0的情况,不是每次都会出现,但挺频繁的,基本点10次会有1-2次出现这样的情况。

和后端联调过,后端并没有收到前端发送的请求,说明请求没发成功

这问题只在ios手机上会出现,安卓从来不会,目前无解决方案,求解

关注 3 回答 1

vvhl 提出了问题 · 2020-06-28

ios上滑动惯性导致无法监听到touch事件如何解决

由于ios上滑动某个div(例如左右滑动)时,会触发滑动惯性导致它进行一个先加速后减速最后停止的滚动行为。但是在这个过程中其实手指已经离开屏幕了
在这个惯性滑动的过程中,只要它还没停止,任何手指在上面的touch事件都无法触发,这个问题怎么解决呢,如何能在div左右滚动的过程中正确的触发touchstart、touchmove等事件

以上描述可能有个疑义的地方,我详细说一下,就是手指离开屏幕后,再次点击滑动区域的时候,无法触发touch事件,脑补过程就是:想先左滑然后快速右滑,这时候左滑其实还在继续滑动未停止,这时候点击的右滑就没有触发touch事件

关注 2 回答 0

vvhl 提出了问题 · 2020-04-27

解决请教一个正则表达式

已知有个动态的字符,固定是test_
它可能是
test_1
test_2_1
test_3
...
等等
最多两个下划线test_x_x,并且这个x一定是数字

1.固定已知的是test这个字符串,那么我要怎么写一个正则能够匹配出所有的可能性?

2.假如这个test也是个变量,它有可能是
test
tset
teet
tttt
...
等等
但可以用一个变量表示

let str;

那么这个正则表达式要怎么写可以匹配出变量str_x_x 类似这种不确定性的东西

关注 2 回答 2

vvhl 提出了问题 · 2020-04-27

vue首屏文件加载多,和一次性加载,哪种会更快

想问各位一个问题,目前vue有两种打包方式

一种是把全部页面都路由懒加载,进首页的时候只加载第一个home.vue文件和一些app.js等必要的文件,其他的都是等到跳转过去的时候再加载对应的文件

但这种情况会在浏览器的请求里面看到非常多的请求(大几百个),虽然都是prefetch的,但不知道这种请求是否会造成请求堵塞,使首页加载更加耗时

第二种是一次性加载出来

请问第一种会不会更耗时?

我这边指的耗时,纯属第一次见到首页样子的时候

还有就是prefetch虽然文档是写着 在浏览器空闲的时候请求,但这个空闲是怎么定义的?是指首页Home.vue和app.js、app.css等都加载完了,它才开始加载吗,那会和加载图片冲突吗,就图片也是异步加载的,会先把prefetch的文件加载完了才加载图片吗

关注 2 回答 1

认证与成就

  • 获得 23 次点赞
  • 获得 212 枚徽章 获得 7 枚金徽章, 获得 66 枚银徽章, 获得 139 枚铜徽章

擅长技能
编辑

开源项目 & 著作
编辑

(゚∀゚ )
暂时没有

注册于 2016-04-07
个人主页被 1.6k 人浏览