V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  xiangyuecn  ›  全部回复第 86 页 / 共 122 页
回复总数  2428
1 ... 82  83  84  85  86  87  88  89  90  91 ... 122  
@rabbbit #19 嗯,第二个 v-for 其实相当于 <div><template v-once></template></div>,也就是<div v-once></div>,所以这种写法是没有问题的。

但里只要面多一个其他内容,包括纯文本节点,bug 就出现了,就是你第一个 v-for。
@shadowyue #11 静态方法如果改写成计算属性,将永远不会被再次调用,这是我的理解,实时时间获取不能用带缓存功能的计算属性。

你运行一下测试代码,你就会发现这个 bug 不是想象中那么简单😁。
@laike9m # 这。。。怪我英语从来没有及过格(传纸条还是很 6 的),我以为机器翻译出来的"Please" 是 "请您" 的意思。。。

百度翻译:“请您再次修改标题” -> “Please change the title again” -> “请重新更改标题” 😂😂😂 这锅我背
@lscexpress #9 不排除这个可能,不过可能性太低,#8021 这个问题 包括 fix PR 都提了一年半了,没有任何动静
2019-12-05 11:30:12 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@crs0910 哈哈,谢谢你啦😊。可能是我在 #25 用“怼”这个词不当,我并没有针对那个协作者,只是觉得他们处理 issue 的有欠妥当。那个 demo 我是把发现的问题和没有问题的对比代码都写进去了,也没多少,应该不好精简了。
@shadowyue #4 不能这样乱来的😂 按需进行操作,不然改完这处 bug,引出 10 处 bug😂
@qiaobeier #5 抱歉,打扰了😊
@ericgui 日程安排下礼拜入门学习 react,每样来点,提升点生存能力😊

@warcraft1236 你更惨些,我还好,目前给别人提的 issue 都有回复或相应修复
目测要修复这个 bug 会很艰难,稍微瞄了一下其他 issue,那些 v-for 里面的 v-if 之类的 bug 也可能和这个 bug 是相关的。

这种 bug 这样写才会触发,那样写又不会触发;前面有点东西会触发,前面没有东西又不会触发;典型的疑难杂症的表现,最极端的预测需要重构整个 vue core 才能修复这个问题,(没有阅读 vue 源码没有发言权,这里是瞎猜的)😂😂
2019-12-05 10:15:40 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@Curtion #10 不是#8021 这个问题,它是 component 组件中的 template 属性,我的是 template 标签,完全不一样。

不过有个 vuejs 的 Contribution 同样拿这个问题来怼我,欢迎来观战,看我怎么用中式英语来怼死他,https://github.com/vuejs/vue/issues/10892
2019-12-05 08:41:55 +08:00
回复了 atwoodSoInterest 创建的主题 程序员 一个神奇的 js 问题
@xingyue #13 也许图 3 这个 Closure 是和变量一样被优化掉了吧,f2 函数内没有任何东西需要用到闭包。加一点别的什么的构成引用,应该就会显示这个 Closure
2019-12-03 18:42:59 +08:00
回复了 atwoodSoInterest 创建的主题 程序员 一个神奇的 js 问题
换 ie 试试应该就没有这个问题了。怀疑是 chrome 对这种闭包内压根没有作用的代码进行了优化,新版本浏览器经常 debugger 会出现这种,不过手动展开作用域里面的 Closure 会发现是有值的,手动存一个全局变量就能得到实际的值。
2019-12-03 17:36:18 +08:00
回复了 shazh520 创建的主题 程序员 关于代码的病 有解吗?
@maichael #1 我跟楼主这种几乎完全一样😂 经常好几百行源码,4 5 个文件一次性写完,一次性跑通,小问题会有一些,大问题很少,不过很少写测试代码,修改代码提交也是一行行仔细看。包括别人写的代码也经常全部看一遍,应该算是病的不轻了😂😂
2019-12-03 13:59:54 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@nxy006 #14 #15 嗯嗯,感谢你的解答😊。但目测你应该没有理解我的问题,请看一下#20 楼这幅图,你就明白了,一个不在 v-for 里,一个在 v-for 里,代码基本相同,但表现不一样。
2019-12-03 13:55:48 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@marcong95 #13 @guolaopi #8 还以为你们可以看到 vue 生成的虚拟节点结构,研究了半天 vue-devtools,原来并看不到,只能靠 dom 结构来猜测了,哈哈😁


#8 v-once 不能直接写到上级点上,按需使用,哪里需要哪里写,不然子节点全部失去了绑定

#13 虽然“Render the element and component once only.” ,但没有用 v-for 包裹的有效,放到 v-for 里面就无效了。看下图的红色圈起来的部分,和上面绿色圈的部分,代码性质是一样的,但表现不一样

https://wx1.sinaimg.cn/large/a32300cdly1g9jhol6kpgj20kn0aq74r.jpg
2019-12-03 12:08:58 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@angel001ma 你用的啥浏览器运行的是一致的?

不在 v-for 里面的 <template v-once>{{ getTime() }}</template> 是不会随着周期发生任何变化
但 v-for 里面的 <template v-once>{{ getTime() }}</template> 会变化,不符合 v-once 语义

通过使用标签 或 额外套一层标签 可修复;但是要在代码里额外去多写一个标签,比如多套一层 span,问题就在这里

https://wx1.sinaimg.cn/large/a32300cdly1g9jej5vbpvj20ut0btwfx.jpg
2019-12-03 11:03:10 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@Terry05 @dk7952638 哈哈,发现两个老实人,你们说的也都是事实。

不过,两位大佬能不能看一下 我写的这个这个问题的复现代码,帮我解解惑,为啥会产生这种现象,code url: http://jsrun.pro/qcWKp/edit?v=2
2019-12-03 04:59:55 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@TangMonk 还没下班😊
2019-12-03 04:57:36 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
测试发现,外面再完全单独的套一层标签就能生效
<span><template v-once>[{{ getTime() }}]</template></span>

还不如回到原点
<span v-once>[{{ getTime() }}]</span>


还是需要多输出一个标签(细思极恐),难道不是 bug,是 feature ???😂
2019-12-03 04:42:20 +08:00
回复了 xiangyuecn 创建的主题 Vue.js 请问: v-once 到底是个啥玩意?😂
@rabbbit 原来是要这样写才没问题😂😂,不过嵌入到 v-for 里面立马暴露出问题,测试代码: http://jsrun.pro/qcWKp/edit?v=2


运行效果蔚为壮观,看样子不是我的写法有问题就是 vue 有 bug😂

https://wx1.sinaimg.cn/large/a32300cdly1g9j1oq5rahj211l0js0uh.jpg
1 ... 82  83  84  85  86  87  88  89  90  91 ... 122  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1632 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
Developed with CodeLauncher
♥ Do have faith in what you're doing.