框架7路由-事件处理程序不起作用

时间:2018-09-11 19:14:41

标签: html-framework-7

我的简单目标是加载一个主index.html并在其之上显示一个登录页面(如果用户尚未登录)。因此,我在应用路由器中定义了以下路由。

let routes = [
    {
        path: '/',
        url: './index.html',
        on: {
            pageInit: function (e, page) {
                if (localStorage.loggedIn != 1 || localStorage.loggedIn == 'undefined') {
                    this.navigate({ name: 'login' });
                }
            }
        }
    },
    ....

总的来说,这可行,但是有一些缺点。

  • 如果用户直接导航到主站点,则会收到pageInit 一切都很好。但是如果用户导航到 main_site.com/index.html pageInit未触发( 显然是正常的),并且登录表单不会弹出。
  • 我没有收到其他事件,例如pageMounted, pageAfterIn等。我不明白为什么。

有想法的人我的方法有什么问题吗?

1 个答案:

答案 0 :(得分:0)

如果我是对的,F7不必根据您的脚本查找索引文件,它只会显示带有路径的路由

path: '/'

不是一个有路径的人

path: '/index.html'

所以这就是为什么当您调用main_site时,它之所以有效是因为路径为'/',而另一个很明显是因为缺少'/index.html'路径

我的建议是您坚持通过路由路径打开,页面不会直接加载