Ionic 2 - 存储用户凭据(本地存储与nav params)

时间:2016-09-06 08:17:21

标签: ionic2

我正在开发一款Ionic 2应用程序。当我登录时,我可以将用户凭据存储在SQLStorageLocalStorage或将其作为NavParam上的参数传输。

示例:

onLogin(){
this.nav.setRoot(MainPageComponent,user);
}

VS

let storage = new Storage(SqlStorage);
storage.set('name', 'Max');

存储作为参数传递的主要优势是什么?

2 个答案:

答案 0 :(得分:1)

Navparams用于在页面之间传输数据,例如,您必须打开特定项目的详细信息,您需要点击一个项目,参数将使用Navprams发送到itemDescription页面。 您更喜欢localstorage.setItem('userId', $userId),因为每次打开应用时,本地存储都会解决不需要的登录问题。 如果您存储在本地存储中,那么在加载的每个应用程序上,我们都可以检查是否存在本地变量。

if(localstorage.getItem('userId')==null){
    this.signin();
}
else{
    this.appOpen();
}

这个可以帮到你!

答案 1 :(得分:1)

  

存储作为参数传递的主要优势是什么?

如果您只在一页或两页中使用该信息,则可以将其作为参数发送。但问题是你可能会在多个地方(可能在设置页面或应用程序的侧面菜单中)使用name,等等,所以在某个地方存储这些信息是个好主意,这样你就可以在需要的时候把它拿回来。

此外,如果您在一个页面中获取该信息,并且您希望在另一个页面中显示该信息,但这些页面未直接连接到您的应用程序的工作流程中,则需要将其传递到其他一些页面中把它拿到想要展示的地方。因此,存储该数据似乎是一种更好的方法。

请注意,如果您使用SQLStorage或LocalStorage,您还应设置一个到期日期,以强制用户在给定的时间段后再次登录。