如果用户已经登录,我想将其重定向到主页,否则将其重定向到登录页面。
如何在nativescript-vue中解决此问题?
答案 0 :(得分:0)
我假设您要将Login组件传递给app.js
中的render函数。您可以在此处编写条件语句,如果用户已经登录,则通过Home组件。
如果您必须通过服务器验证令牌,则可以使用加载页面,也可以在完成验证后导航到“清除历史记录”选项。
答案 1 :(得分:0)
您还可以检查数据库(例如sqlite或loki)的登录状态,在我的情况下,我从app.js检查数据库,然后如果状态为1转到主页,否则转到登录页面,不使用{N} vue但是普通的(香草Js),却是相同的,来自App.js的Heres代码
if ( model.isAvailable ==true) {
var whichPage=true;
console.log(" User found");
}else{
whichPage=false;
console.log("Going to Acount page !");
}
var pageToload= whichPage ? "home":"status";
application.start({ moduleName: pageToload })
;```
Change it to how you like to handle it, model.isAvaillable() is a function that checks the Db for login status
答案 2 :(得分:0)
根据文档(https://nativescript-vue.org/en/docs/routing/vue-router/),目前似乎不支持Vue Router。
您可能可以通过以下方式实现您想要做的事情:
const token = localStorage.getItem('token')
const shopId = localStorage.getItem('shop_id')
let userLoggedIn = false
if (token && shopId) {
userLoggedIn = true
}
new Vue({
render: h => h('Frame', [h(userLoggedIn ? Home : App)])
}).$start()
我尝试使用您在2/20上提供的逻辑。