一般来说,互联网APP中的数据主要是和服务端进行交互,但是对于一些数据,我们希望在获取之后保存起来,并在全局环境中使用,例如用户数据——我们不想在每个页面上从服务器中提取它。这时候我们可以使用HTML5的localStorageAPI——一种比cookie更稳定高效的存储机制,跨浏览。我们可以尝试模拟登录过程来体验这个API的使用。创建登录页面在pages文件夹下创建登录页面目录login,包括login.ts和login.html,别忘了在app.module.ts中注册页面。一个简单的登录表单定义了数据模型。表单的数据模型定义在login.ts中,用户名和密码封装在一个对象中,以后发送post请求时直接调用即可。exportclassLoginPage{userData:any{username:'',password:''}...制作模板并完成数据绑定在login.html中编写表单模板,使用[(ngModel)]绑定on中的每一项数据模型。需要先做一些小改动许多应用程序需要强制登录。用户进入此类应用时,会直接进入登录页面。登录成功后才会跳转到首页。如果使用tabs模板创建ionic项目,则APP默认进入Tabs页面。我们需要做一些修改,让它默认进入登录页面。修改app.component.tsapp.component.ts定义整个APP的根页面,我们需要将根页面替换为登录页面。引入LoginPageimport{LoginPage}from'../pages/login/login';将rootPage更改为LoginPagerootPage:any=LoginPage;运行服务器后,可以看到应用程序直接进入登录界面,使用LocalStorage存储登录状态。在LoginPage中创建登录方法在类中创建登录方法模拟登录过程:login(){//模拟认证登录if(this.userData.username==='test'&&this.userData.password==='123456'){//将用户名存储到localStoragewindow.localStorage.setItem('username',this.userData.username);this.navCtrl.setRoot(TabsPage);}}假设用户名为test,密码为123456,当两者匹配时,将用户名存入Storage,并跳转到Tabs页面。注意:引入TabsPageimport{TabsPage}from'../tabs/tabs';类中注入NavController:constructor(privatenavCtrl:NavController){}绑定点击事件将组件中的点击方法绑定到模板按钮的事件中: Welcometoyou:{{username}} 欢迎:{{username}}
