svelte使用跳转出现重复刷新的问题

反正自己趟的浑水,自己长记性,年纪大了,记不住,以下的解决的办法

因为APP有启动图,我做的路由是这样子的

首先是APP.svelte文件,使用的官方的一个view,照着复制的,目前没有其他的啥问题

<script>
    import { App, View } from "framework7-svelte";
    import routes from "./routes.js";
    const f7params = {
        routes,
        name: "ulegou",
        id: "ulegou",
    };
</script>

<App {...f7params}>
    <View main={true} url="/"/>
</App>

以上的路由url跳转到index.svelte文件是APP的启动图,这个相当于一个中转站了,里面包含了默认的一些配置之类的东西,然后在跳转登录页面,login.svelte

官方看到的跳转使用的是这个,可能没有仔细看doc文档啊,因为都是英文的,看不懂,啊哈哈哈哈哈哈

f7router.navigate("/login");

使用上面这个方法跳转后会在每次进入页面的时候刷新一次index.svelte的内容,相当于重复执行了一次,然后我就觉得,官方的文档应该有解决方案,努力的去翻译,一行一行的粘贴复制,功夫不负有心人,让我找到了附带的参数

f7router.navigate("/login", {
            reloadCurrent: true,
            reloadAll: true,
        });

没错,就是加上这2个就可以了reloadCurrent = true 和 reloadAll = true

分别的意思是

reloadCurrent    用route中的新页面替换当前页面,本例中没有动画

reloadAll    加载新页面并从历史记录和DOM中删除所有以前的页面

因为我这个APP的启动图不是每次启动都会加载的,有缓存的时间如果用户在这个时间内看过启动图了就直接跳过,所以,我吧启动图直接去掉了,顺便删除启动页面,就添加了这个reloadAll,因为第一次启动入口路由必须要经过启动页面(包含了APP本地的缓存配置等)进行跳转,因为设置完了,启动页面就没用了,就删掉了,

还有其他的参数看一下官方文档吧,按需添加,文档地址入口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值