[英]mithril avoiding to reload image
我正在使用秘银0.2.2-rc.1。 我在路由文档中看到: 路由是一个系统,它允许创建单页应用程序(SPA),即可以在不导致浏览器完全刷新的情况下从一个页面转到另一个页面的应用程序。
事实上,当我路由到不同的参数,只是我想更改刷新预计这一部分在同一个页面:
m("img[src='assets/images/logo.png'][alt=''][width='100']")
我可以在网络通信中看到图像已重新加载(另一个GET请求)。
有办法避免这种情况吗?
route.js
m.route.mode = "pathname";
m.route(document.getElementById('app'), '/', {
'/': main,
'/modelling/:level': main
})
很难看到这两段代码是如何组合在一起的,但是有两点说明了自己:
/modelling/x
到/modelling/y
)也将导致重新生成整个DOM。 您可以通过在每个路由组件的控制器中调用m.redraw.strategy( 'diff' )
来防止此行为。 如果查看m
方法的文档,您将看到config
属性可让您在重绘之间保留元素。 因此,这应该为您工作:
m('img', {config: function persist(el, isInit, context)}) {
context.retain = true;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.