helium 有插件开发相关的问题尽管提,我们不一定都会回复,但都会逐条阅读并分析,争取下个版本都解决掉
dto 我对js不太熟悉, 有个问题想请教大佬. 为什么有时候我点击了按钮, 但是视图没有刷新, 大概五六秒之后才会视图刷新, 我用开发者工具profile里面看的这一段什么计算也没做, 只是idle. 我在Stack Overflow上搜了, 有人说是GC, 有人说是堆分配. 但是我想即使是GC也要不了这么久, 所以想问下还有什么其他可能性, 或者有什么其他的工具可以调试. 这种情况偶尔会发生, 大部分情况都是很流畅.
helium 我点击「预览」的时候,没反应,过好长时间才显示。个人感觉不太可能是GC,应该是数据和试图的绑定有问题,导致没更新
dto 就是这个问题, 但是有时候却又是秒刷新
helium 你那个预览的问题应该是 table 渲染得太慢了, 看你代码你都没有定义数据行的 row-key, 如果文件夹文件多的话, 就会造成数据绑定时候, 同步状态比较慢, 你在数据里加上一个 key, 然后在 table 上定义 row-key 的属性应该就可以解决了, 我记得这个设置能带来几十倍的性能差距
helium 我是用 vue-cli 工程做的, 你可以参考我之前的插件看看, 其实 preload.js 是独立出来的, 里面的函数直接挂在 window 对象下面就可以在 vue 代码里面直接使用了, 所以 preload.js 直接放在 public 文件夹下随项目一起输出到根路径下就可以了.
大概是这样的项目结构
lanyuanxiaoyao 想参考一个你之前用vue-cli做的插件,简单demo就好,给发下仓库地址好嘛,感谢感谢
lanyuanxiaoyao emmmm, 不是这个问题, elementUI里面的table给的row-key我设置了, 情况依然存在. 我看github上面说这个似乎是给另外一个功能设置的, 不是v-for的那个. 我又试了下nextTick, 好像也没用. (我也不知道我用的是不是对的, 就是直接在preview后面执行一次nextTick) 我乱试的时候发现这个卡死的问题好像不在代码层面上....因为我发现其实不是卡死, 只要鼠标往表格上面晃一下视图就马上刷新了. 只要鼠标不往下移动, 就不会刷新.
@lanyuanxiaoyao #1500 似乎解决了....是数据和视图绑定的问题. 问题出在: 之前的逻辑是preview给绑定的数据增加了一个新的字段, 而设置的表格显示的是这个字段. 其之前一直是undefined. 如果鼠标移到表格上, 会触发hover事件, 所以会发现视图更新了. 解决方法是开始把这个字段初始化. 确实是@dto说的视图和数据的绑定问题.
helium 😂是无中生有一个字段吗?在一个已存在的对象里无中生有一个字段是不会被vue的双向绑定检测到的,这个是JavaScript的限制,在vue的文档里有说
kongweiteng 看这个吧 https://github.com/lanyuanxiaoyao/Mverything
这个下载了怎么用呢?
一直有这样的需求 感谢
链接:https://pan.baidu.com/s/11hlUg6AHIbumezZx8PXkyg 密码:xex7 这么好的插件, 居然不更新了, 起码重新打包成 upx 格式让大家方便下载对吧... 嗯, 链接在上面