svelte + Framework7的路由跳转携带参数2种解决方案

A传参数到B页面,都会用到参数传值之类的,

方案一:

A页面代码:

export let f7router;

f7router.navigate("/login", {
     props: {
         phone: "13000001111",
         pass: "123456",
     },
});

通过props的方式传值过去,这个看起来没啥问题

B页面代码:

export let phone;
export let pass;

console.log(phone,pass);

上面是方案一,通过props传值但是会有些问题,个人原因啊,在开发模式中,会出现很多的警告,特烦的那种,每次进页面都有,(测试过打包后,没有警告,正常使用放心用)不过还有第二个方案


方案二

A页面代码

export let f7router;

f7router.navigate({
   name: "login",
   query: {
       phone: "13311112222",
       pass: "123456",
    },
});

是不是注意到,跟第一个方案不同,这个传参是通过路由的query方式传递

路由需要加上 name参数如下:

import login from "./view/login.svelte";

export default [
    { name: 'login', path: '/login', component: login },
]

第一个方案的路由跳转使用的是path的地址,第二个方案可以直接检索name的参数,当然第二个参数也可以使用path

B页面代码

export let f7route;

export let phone = f7route.query.phone;
export let pass = f7route.query.pass;

console.log(phone,pass);

这2个方案都是 Framework7的单页版,页面跳转带参数,第二个方案调试的时候,警告会少一些目前我用的是第二个方案,,,,嗯嗯嗯嗯嗯就这些吧!


2021年9月3日15:11:16

学习遇到一个问题,就是外部的js无法跳转内部的路由,因为没有

export let f7route;  这个玩意儿

找了好久的文档压根没有,去翻论坛,翻了好久找到了一个方法,外部js跳转内部页面的

使用起来还是很简单的

import { f7 } from "framework7-svelte";

// f7.view.main.router.navigate(path);


//  这样在自定义类可以使用了,根据需求自己包装一下吧
    /**
     * @description 跳转页面
     * @example 无
     */
    href: (path = true, state = false) => {
        if (path === true) {
            return f7.view.main.router;
        } else {
            if (state === true) {
                f7.view.main.router.navigate(path, {
                    reloadCurrent: true,
                    reloadAll: true,
                });
            } else {
                f7.view.main.router.navigate(path);
            }
        }
    },

更多的请参考官方的doc吧,我自己也是第一使用,有啥问题的留言告诉我

官方文档:跳转地址

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值