<thead id="kdfuf"><font id="kdfuf"></font></thead>
<samp id="kdfuf"></samp>
    <nav id="kdfuf"><strong id="kdfuf"></strong></nav>
      中文字幕无码一区二区三区在线,久久精品人人做人人爽,国产一级内射无挡观看,十八禁在线黄色网站,日韩欧美国产另类久久久精品 ,少妇人妻偷人精品一区二区,久久午夜视频,亚洲春色AⅤ无码专区

      ionic3學(xué)習(xí)之登錄頁

      2018-5-4    seo達(dá)人

      如果您想訂閱本博客內(nèi)容,每天自動(dòng)發(fā)到您的郵箱中, 請點(diǎn)這里

      準(zhǔn)備工作

      部分源碼說明:

      constructor(public modalCtrl: ModalController) {
      }
      
      • 1
      • 2

      我們使用的是:ModalController 不是 NavController

      這兩者的區(qū)別為: 
      NavController 和 ModalController 都是打開新頁面,但是NavController 是直接將頁面放入到原有的頁面堆棧中的,而ModalController 是創(chuàng)建一個(gè)新的頁面堆棧(root nav stack),然后再放進(jìn)去。

      最直觀的界面效果區(qū)別

      1. 使用Tabs 菜單,使用NavController 方法跳轉(zhuǎn)的頁面,并不會(huì)移除Tabs 
        菜單;但是使用ModalController 方法就會(huì)從底部彈出新的頁面,并且沒有了Tabs 菜單。
      2. 使用NavController 方法,新頁面默認(rèn)有返回按鈕,使用 ModalController 
        方法新頁面默認(rèn)是沒有返回按鈕的。

      文檔連接: 
      NavController :https://ionicframework.com/docs/api/navigation/NavController/ 
      ModalController:https://ionicframework.com/docs/api/components/modal/ModalController/

      新建 login 頁面

      // cd到項(xiàng)目目錄,然后執(zhí)行下面的代碼 ionic g page login --no-module
      
      • 1
      • 2

      命令的說明:

      • ionic g page login 生成的 page 上面帶有 module 文件
      • ionic g page login –no-module 生成的 page 上面不帶有 module 文件

      執(zhí)行完之后生成的文件,圖示: 
      login

      添加到根模塊

      進(jìn)入 src/app 下,修改 app.module.ts

      // 導(dǎo)入 loginPage import {LoginPage} from "../pages/login/login"; // 在以下節(jié)點(diǎn)上面添加 LoginPage declarations:[
          LoginPage
      ],
      entryComponents:[
          LoginPage
      ]
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10

      修改程序的首頁

      我們程序進(jìn)入的第一個(gè)界面,一般都是登錄界面,然后通過跳轉(zhuǎn)才到首頁。所以,我們需要修改下程序的邏輯。 
      進(jìn)入 src/app/ 下,修改 app.component.ts

      // 導(dǎo)入 loginPage import {LoginPage} from "../pages/login/login"; // 將源碼部分的 rootPage 指向到 LoginPage // rootPage:any = TabsPage; rootPage:any = LoginPage; // 這個(gè)地方就加載程序啟動(dòng)的頁面
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

      修改登錄界面

      修改login.html

      打開login.html文件,寫入以下代碼

      <ion-header> <ion-navbar> <ion-title text-center>登錄</ion-title> </ion-navbar> </ion-header> <ion-content padding> <ion-list inset> <ion-item> <ion-input type="text" value="admin" placeholder="用戶名" #username></ion-input> <ion-icon ios="ios-person" md="md-person" item-end [ngStyle]="iconStyle"></ion-icon> </ion-item> <ion-item> <ion-input [type]="isShow ? 'text':'password'" value="88888" placeholder="密碼" #password></ion-input> <ion-icon ios="ios-key" md="md-key" item-end [ngStyle]="iconStyle"></ion-icon> </ion-item> <ion-item no-lines> <ion-label> <!-- 控制字體圖標(biāo)的顯示是由 ios 以及 md 兩個(gè)屬性控制的  --> <ion-icon [ios]="isShow ? 'ios-eye' : 'ios-eye-off'" [md]="isShow ? 'md-eye' : 'md-eye-off'"></ion-icon> </ion-label> <ion-toggle checked="false" [(ngModel)]="isShow"></ion-toggle> </ion-item> <ion-item no-lines> <label item-left>記住密碼</label> <ion-toggle checked="false" [(ngModel)]="isRemember"></ion-toggle> </ion-item> </ion-list> <div padding> <button ion-button block color="primary" (click)="_login(username, password)">登錄</button> </div> </ion-content> 
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39

      圖示: 
      這里寫圖片描述

      部分樣式說明:

      // text-center 讓文字居中 <ion-title text-center>登錄</ion-title> // no-lines 去除底部的線條 <ion-item no-lines></ion-item> // item-left 讓文字居左 <label item-left>記住密碼</label>
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

      修改login.ts

      import { Component } from '@angular/core';
      import { ModalController, ToastController} from 'ionic-angular';
      import { TabsPage} from "../tabs/tabs";
      import {Storage} from "@ionic/storage";
      
      @Component({
        selector: 'page-login',
        templateUrl: 'login.html',
      })
      export class LoginPage { public isRemember: boolean = false; public isShow: boolean = false;
      
        iconStyle: object = {'color':'#488aff','font-size':'1.4em'};
      
        constructor(public modalCtrl: ModalController, public toastCtrl: ToastController, public storage: Storage) {
        }
      
        ionViewDidLoad() {
          console.log('ionViewDidLoad LoginPage');
        }
      
        _login(username: HTMLInputElement, password: HTMLInputElement){ if (username.value.length === 0){ this.showToast("bottom", "請輸入"); return false;
          } if (password.value.length === 0){ this.showToast("bottom", "請輸入密碼"); return false;
          } let data = {username: username.value, password: password.value, isRemember: this.isRemember}; // 儲(chǔ)存用戶信息 this.storage.remove("USER_INFO"); this.storage.set("USER_INFO", JSON.stringify(data)); // 界面跳轉(zhuǎn) let modal = this.modalCtrl.create(TabsPage, data);
          modal.present();
        }
      
        showToast(position: string, message: string) { let toast = this.toastCtrl.create({
            message: message,
            duration: 2000,
            position: position
          });
      
          toast.present(toast);
        }
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49
      • 50
      • 51
      • 52
      • 53
      • 54
      • 55
      • 56
      • 57
      • 58

      接下來的一篇介紹下:怎么實(shí)現(xiàn)記住密碼之后直接進(jìn)入到首頁。

      藍(lán)藍(lán)設(shè)計(jì)www.tuitetiyu.cn )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)


      日歷

      鏈接

      個(gè)人資料

      存檔

      主站蜘蛛池模板: 大地资源免费视频观看| 欧美精品18videosex性欧美| 一区二区三区新区不卡| 国产91午夜福利精品| 偷窥自日韩国产亚洲综合| 色噜噜国产精品视频一区二区| 天天躁日日躁狠狠躁中文字幕老牛| 国产乱来乱子视频| 国产农村乱子伦精品视频| 国产一区二区自拍| 国产乱人伦av在线a| 激情欧美成人小说在线视频| 丁香五月激情视频狠久九九| 日本三级理论久久人妻电影| 中文字幕卡二和卡三的视频| 精品国产一区av天美传媒| 欧美性xxxxx极品| 久久综合无码Av| 成人亚洲性情网站www在线观看| 色欧美日韩亚洲| 国产又黄又潮娇喘视频在线观看| 成人性生生活性生交久| av天堂精品久久久久| 久久精品国产亚洲一区二区| 欢迎访问欧美一区午夜福利在线| 日韩精品人妻系列无码专区| 99久久免费只有精品动漫| 无码视频一区二区三区| 久久精品国产久精国产爱| 夏邑县| 国产高清美女一级毛片久久| 国产国产成人精品久久蜜| 鲁死你资源网站| 久久天天躁狠狠躁夜夜88| 曰韩毛片无码一区二区三区| 2021亚洲国产精品无码| 大伊香蕉精品一区视频在线| 灌阳县| 久久精品国产自清天天线| 久久国产欧美另类久久久| 国产精品久久不卡日韩美女|