如何在Framework7 Vue中使用身份验证

时间:2018-02-13 03:59:04

标签: javascript cordova vue.js vuejs2 html-framework-7

我正在使用最新的Framework7 Vue Webpack初学者包。

我的默认页面('/')是登录页面。我的计划是在请求应用程序中的任何页面时立即运行xhr请求。

  1. 所以我尝试在onF7Ready(f7)中调用isLoggedIn()。如果登录,我想我会用它来将用户带到主屏幕 - self。$ f7router.navigate('/ home /');否则我会把用户带到登录页面。然后我了解到$ f7router只能在Route Components中访问。
  2. 然后我想我会在每个页面的pageInit()中放入isLoggedIn()检查。所以我尝试将该代码放入login.vue文件中 on: { pageInit(e) { $ f7router在这里可用但是自己。$ f7router.navigate('/ home /');不起作用。同样的自我。$ f7router.navigate('/ home /');但是如果我在同一个login.vue文件中的一个虚拟方法中使用它,它确实有效。
  3. 即使上面的代码确实有效,也必须有一种更好的方法来检查用户是否已登录,然后以比我正在做的更好的方式执行操作。除了('/')之外的所有路由都需要身份验证。

    有谁能告诉我应该如何处理这个非常标准的问题?非常感谢。

1 个答案:

答案 0 :(得分:0)

我发现自己。$ f7router.navigate在pageInit()中不可用,但是,它可以在pageBeforeIn()和pageInit()之后的其他函数中使用。

旁注:我发现pageInit()对于这个特定的用例非常危险,因为每次导航到此页面时,页面都将运行AJAX请求,而不仅仅是在首次访问App时。