Subscribe on changes!

未更新的元素background-image重复请求

avatar
Sep 24th 2021

Version

3.2.16

Reproduction link

sfc.vuejs.org/

Steps to reproduce

图片会在变量更新时发起请求

What is expected?

没有更新的元素不要刷新

What is actually happening?

元素刷新了, 图片重新发起了请求


使用组件添加class或者style属性,组件根节点style包含banckground及background-image时,组件内部更新会导致background-image重复请求

"在dom中打属性的断点, 可以看到在组件内部更新的时候, 执行setStyle background(例如#cccccc)的时候background-image被设置成了initial, 然后再执行setStyle background-image 又设置成对应的url"

avatar
Sep 24th 2021

这是因为 style 被 parse 成了对象,为的是处理 auto-prefixing。直接写 background: #18191c url('http://abc.bcd.com/efg.jpeg'); 就可以避免了。

avatar
Sep 24th 2021

这是因为 style 被 parse 成了对象,为的是处理 auto-prefixing。直接写 background: #18191c url('http://abc.bcd.com/efg.jpeg'); 就可以避免了。

我也是这样处理的,但这样合理么

avatar
Oct 21st 2021

这是因为 style 被 parse 成了对象,为的是处理 auto-prefixing。直接写 background: #18191c url('http://abc.bcd.com/efg.jpeg'); 就可以避免了。

我也是这样处理的,但这样合理么

之前也有人問過類似的問題(好似是Form Input), Evan You也是類似的答法 簡單來說, 在現時的設計下, 同一vue component下的東西, 裡面的state一改, 所有都會跟著改 你能做的就是盡量把靜態不變的抽出成獨立元件 不同vue component之間就不會有這樣的問題