liuy1994g
V2EX  ›  问与答

请问 Vue 里能让一个组件不重新加载吗

  •  
  •   liuy1994g · Mar 31, 2021 · 2038 views
    This topic created in 2051 days ago, the information mentioned may be changed or developed.

    用 three.js 渲染了一个 300M 的模型,多个页面复用,每次跳转页面就先下载半天,然后再渲染半天,等模型展示出来都几分钟过去了,😂

    8 replies  •  2021-04-01 09:06:32 +08:00
    lupkcd
    lupkcd
    Mar 31, 2021❤️1
    1
    keep-alive 试试
    或者放最上层,别放路由里面 通过代码去控制展示
    TomVista
    TomVista
    Mar 31, 2021
    2
    "多个页面复用",你这个本质上不是组件缓存的问题

    1.离屏 canvas ,兼容性比较差. 解决渲染速度问题
    2.indexDb 把 300M 存下来,读本地 解决下载问题
    workg
    workg
    Mar 31, 2021❤️1
    4
    隐藏放到路由外面,需要的时候直接移动到指定 DOM 节点下
    jimliang
    jimliang
    Apr 1, 2021
    5
    不是,你下载后可以缓存到内存或者利用浏览器对静态资源的缓存
    渲染半天,你可以缓存一下对应的对象
    这玩意跟 vue 关系不大,看你怎么封装了
    liuy1994g
    liuy1994g
    OP
    Apr 1, 2021 via iPhone
    6
    @workg 有想到这个做法,可是尺寸难调整
    murmur
    murmur
    Apr 1, 2021
    7
    多个页面复用,每次跳转页面就先下载半天,然后再渲染半天

    这个跟 vue 没关,除非你这东西在 iframe 里,其他地方加载 iframe 里的东西不动
    imjamespond2020
    imjamespond2020
    Apr 1, 2021 via Android
    8
    加 http cache
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4257 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 03:45 · PVG 11:45 · LAX 19:45 · JFK 22:45
    ♥ Do have faith in what you're doing.