NativeScript Vue-基于用户登录状态的条件化

时间:2019-04-19 03:22:53

标签: javascript vuejs2 nativescript nativescript-vue

我正在使用NativeScript-Vue。

我有一些受保护的页面(仅限会员)。我将用户的登录数据保存在localstorage中。我有两个问题:

  1. 当用户打开应用程序时,我们应该在应用程序中的哪个位置编写代码以检索用户的登录数据。我想从本地存储中读取数据并将其填充到Vuex存储中。我知道如何从本地存储中读取数据,但是我不知道应该在什么位置/什么时候这样做,以便用户可以首先登录。

  2. 有几个页面受到保护(仅限成员)。对于这些用户,如果他们已登录(基于vuex存储),我想向他们显示页面内容,但是如果他们未登录,则希望他们导航到登录页面。同样,我对于应该在哪里编写此代码/条件感到困惑。

感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

要在各个组件之间导航,还可以使用route对象中的 return $builder->parse([ 'description is' => $sq ]); 键。 示例:

meta

答案 1 :(得分:2)

  1. 使用Vue构造函数中的render,从本地存储中读取数据,并根据身份验证状态返回相应的Frame / Component

类似

new Vue({
    render: h =>  h('Frame', [h(LS.getItem('loggedIn') ? HomeComponent : LoginComponent)])
}).$start();
  1. 仅当用户登录时,您才将导航到受保护的页面。因此,每次导航之前,您都要检查登录标志。可以编写一个检查标志后处理导航的实用程序函数。注销后,只需使用登录组件将navigateTo设置为true即可调用clearHistory