【发布时间】:2018-04-24 18:14:00
【问题描述】:
我的 Elm 应用程序允许用户旋转图片:当点击屏幕上的图片时,elm 会调用 API 来旋转服务器上的图片文件。之后,我希望旋转后的图像显示在浏览器中。
但由于 img 节点具有相同的 src URL,因此虚拟 DOM 根本没有改变。有什么方法可以强制重新创建 img 吗?
当然,我可以使用 Keyed 节点或修改我的 img 上的某些属性来强制重绘,但这意味着向我的模型添加一些在旋转时修改的内容。这是可能的,但不是很优雅。
【问题讨论】:
-
我认为你基本上是正确的,所以问题变成了添加什么样的状态。也许最合适的是与 http 请求状态相关的东西,因为您可能还希望其他效果让用户知道正在发生的变化
-
似乎让原始版本和旋转版本共享相同的 URI 是一种很好的方式来让缓存在许多级别感到沮丧,而不仅仅是 DOM / 浏览器。我建议使用查询参数作为区分因素。
标签: elm virtual-dom