gpt4 book ai didi

javascript - Mithril 避免重新加载图像

转载 作者:行者123 更新时间:2023-11-30 09:53:16 25 4
gpt4 key购买 nike

我正在使用 Mithril 0.2.2-rc.1。我在 routing documentation 中看到:路由是一个允许创建单页应用程序 (SPA) 的系统,即可以从一个页面转到另一个页面的应用程序不会导致浏览器完全刷新。

事实上,当我用不同的参数路由到同一个页面时,只有我想改变的部分是刷新 expect 这个:

m("img[src='assets/images/logo.png'][alt=''][width='100']")

我可以在网络通信中看到图像已重新加载(另一个 GET 请求)。

有没有办法避免这种情况?

路由.js

m.route.mode = "pathname";

m.route(document.getElementById('app'), '/', {
'/': main,

'/modelling/:level': main

})

最佳答案

很难看出这两段代码是如何组合在一起的,但有两件事表明了它们自己:

  1. 每次更改路由(即使该更改导致相同的路由条目,例如 /modelling/x/modelling/y)都将导致整个 DOM正在再生。您可以通过在每个路由组件的 Controller 中调用 m.redraw.strategy( 'diff' ) 来防止这种行为。
  2. 重复请求相同的资源不会导致对服务器的额外调用:每个页面都请求相同的 JS 和 CSS 的多页面站点只会加载这些资源一次,并会在后续请求时命中浏览器缓存。因此,重复请求相同的图像资源不会对服务器产生任何新的调用。

关于javascript - Mithril 避免重新加载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35272380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com