[英]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.