2016-09-06 57 views
1

I'm开发的离子2应用程序。当我做登录,我可以存储在SQLStorageLocalStorage用户凭证或将其转换为参数上NavParam离子2 - 存储用户凭证(本地存储器VS导航PARAMS)

实施例:

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

VS

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

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

回答

1

什么是存储空间超过传递作为参数的主要优势在哪里?

如果您仅在一页或两页中使用该信息,则可以将其作为参数发送。但问题是,你可能会在多个地方使用name(可能在应用的设置页面或侧面菜单等等),因此将该信息存储在某个地方将是一件好事所以你可以在需要的时候把它拿回来。另外,如果您在一个页面中获得了这些信息,并且您希望在另一个页面中显示该信息,但这些页面并未直接连接到应用程序的工作流程中,您需要将其传递给其他一些页面把它展现在你想展示的地方。所以再次,存储这些数据似乎是一个更好的方法。

请注意,如果你使用SQLStorage或本地存储,你也应该设定一个截止日期,以强制用户给定的时间段后再次登录。

1

Navparams用于页面之间传输数据说,你必须打开一个特定的项目的细节,你需要点击一个项目和参数将使用Navprams发送到itemDescription页面。 你喜欢localstorage.setItem('userId', $userId),因为存储在本地就能解决每次打开应用时,不需要的登录。 如果您在本地存储保存,然后上载每一个应用程序,我们可以检查局部变量的存在。

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

这一个可以帮助你!