V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
liuy1994g
V2EX  ›  问与答

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

  •  
  •   liuy1994g · 2021-03-31 21:17:24 +08:00 · 1364 次点击
    这是一个创建于 1366 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    这个跟 vue 没关,除非你这东西在 iframe 里,其他地方加载 iframe 里的东西不动
    imjamespond2020
        8
    imjamespond2020  
       2021-04-01 09:06:32 +08:00 via Android
    加 http cache
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:47 · PVG 20:47 · LAX 04:47 · JFK 07:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.