最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序 本地存儲及登錄頁面處理實例詳解

 更新時間:2017年01月11日 15:27:28   投稿:lqh  
這篇文章主要介紹了微信小程序 本地存儲實例詳解的相關(guān)資料,需要的朋友可以參考下

實例內(nèi)容

  • 登陸界面
  • 處理登陸表單數(shù)據(jù)
  • 處理登陸表單數(shù)據(jù)(異步)
  • 清除本地數(shù)據(jù)

登錄界面:

app.json中添加登陸頁面pages/login/login,并設(shè)置為入口。

保存后,自動生成相關(guān)文件(挺方便的)。

修改視圖文件login.wxml

<!--pages/login/login.wxml-->
<view class="container">
  <form bindsubmit="formSubmit">
    <view class="row">
      <text>姓 名:</text>
      <input type="text" name="userName" placeholder="請輸入用戶名" />
    </view>
    <view class="row">
      <text>密 碼:</text>
      <input type="password" name="userPassword" placeholder="請輸入密碼" />
    </view>
    <view class="row">
      <button type="primary" form-type="submit">登陸</button>
    </view>

  </form>
</view>

修改登陸樣式login.wxss

/* pages/login/login.wxss */
.container{
  padding: 1rem;
  font-size: 0.9rem;
  line-height: 1.5rem;
  border-shadow: 1px 1px #0099CC;
}
.row{
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}
.row text{
  flex-grow: 1;
  text-align: right;
}
.row input{
  font-size: 0.7rem;
  color: #ccc;
  flex-grow: 3;
  border: 1px solid #0099CC;
  display: inline-block;
  border-radius: 0.3rem;
  box-shadow: 0 0 0.15rem #aaa;
  padding: 0.3rem;
}
.row button{
  padding: 0 2rem;
}

看下樣式:

form相關(guān)屬性:

屬性名 類型 說明
report-submit Boolean 是否返回formId用于發(fā)送模板消息
bindsubmit EventHandle 攜帶form中的數(shù)據(jù)觸發(fā)submit事件,event.detail = { value : {"name":"value"} , formId:"" }
bindreset EventHandle 表單重置時會觸發(fā)reset事件

這里用到了bindsubmit ,用于處理提交的表單數(shù)據(jù)。

input 相關(guān)屬性

屬性名 類型 默認(rèn)值 說明
value String 輸入框的內(nèi)容
type String text input的類型,有效值:text,number,idcard,digit,time,date
password Boolean false 是否是密碼類型
placeholder String 輸入框為空時占位符
placeholder-style String 指定placeholder的樣式
placeholder-class String input-placeholder 指定placeholder的樣式類
disabled Boolean false 是否禁用
maxlength Number 140 最大輸入長度,設(shè)置為0的時候不限制最大長度
auto-focus Boolean false 自動聚焦,拉起鍵盤。頁面中只能有一個input設(shè)置auto-focus屬性
focus Boolean false 使得input獲取焦點
bindchange EventHandle 輸入框失去焦點時,觸發(fā)bindchange事件,event.detail={value:value}
bindinput EventHandle 除了date/time類型外的輸入框,當(dāng)鍵盤輸入時,觸發(fā)input事件,event.detail={value:value},處理函數(shù)可以直接return一個字符串,將替換輸入框的內(nèi)容。
bindfocus EventHandle 輸入框聚焦時觸發(fā),event.detail = {value:value}
bindblur EventHandle 輸入框失去焦點時觸發(fā),event.detail = {value:value}

button 相關(guān)屬性

屬性名 類型 默認(rèn)值 說明
size String default 有效值default, mini
type String default 按鈕的樣式類型,有效值primary, default, warn
plain Boolean false 按鈕是否鏤空,背景色透明
disabled Boolean false 是否禁用
loading Boolean false 名稱前是否帶 loading 圖標(biāo)
formType String 有效值:submit, reset,用于form組件,點擊分別會觸發(fā)submit/reset事件
hover-class String button-hover 指定按鈕按下去的樣式類。當(dāng)hover-class="none"時,沒有點擊態(tài)效果

此Demo中將button的formType設(shè)置為submit用于激活表單提交事件。

實例二: 處理登陸表單數(shù)據(jù)

修改login.js

// pages/login/login.js
Page({
 data:{
  userName:'',
  userPassword:'',
 },

 formSubmit:function(e){
  console.log(e.detail.value);//格式 Object {userName: "user", userPassword: "password"}

  //獲得表單數(shù)據(jù)
  var objData = e.detail.value;

  if(objData.userName && objData.userPassword){
   // 同步方式存儲表單數(shù)據(jù)
   wx.setStorageSync('userName', objData.userName);
   wx.setStorageSync('userPassword', objData.userPassword);

   //跳轉(zhuǎn)到成功頁面
   wx.navigateTo({
    url: '../index/index'
   })
  }
 },

 //加載完后,處理事件 
 // 如果有本地數(shù)據(jù),則直接顯示
 onLoad:function(options){
  //獲取本地數(shù)據(jù)
  var userName = wx.getStorageSync('userName');
  var userPassword = wx.getStorageSync('userPassword');

  console.log(userName);
  console.log(userPassword);
  if(userName){
   this.setData({userName: userName});
  }
  if(userPassword){
   this.setData({userPassword: userPassword});
  }

 },
 onReady:function(){
  // 頁面渲染完成
 },
 onShow:function(){
  // 頁面顯示
 },
 onHide:function(){
  // 頁面隱藏
 },
 onUnload:function(){
  // 頁面關(guān)閉
 }
})

這里使用到了wx.getStorageSync和wx.setStorageSync,這里說一下,上面這兩個方法類似于HTML5的本地存儲,屬于同步存儲方式。

這兩個方法,使用很簡單,列下參數(shù):

wx.setStorageSync(KEY,DATA)

屬性名 類型 必填 說明
key String 本地緩存中的指定的key
data Object/String 需要存儲的內(nèi)容

wx.getStorageSync

屬性名 類型 必填 說明
KEY String 本地緩存中的指定的key

修改一下login.wxml

 <view class="row">
      <text>姓 名:</text>
      <input type="text" name="userName" placeholder="請輸入用戶名" value="{{userName}}" />
    </view>
    <view class="row">
      <text>密 碼:</text>
      <input type="password" name="userPassword" placeholder="請輸入密碼" value="{{userPassword}}" />
    </view>

這個小實例,會在登陸的時候,將登陸信息存到本地存儲,當(dāng)下次登陸時,如果本地存儲中有相應(yīng)信息,則直接填寫上。

效果(再一次運行后,自動填寫上了信息):

實例三: 處理登陸表單數(shù)據(jù)(異步)

這里采用異步的方式存放數(shù)據(jù)。

修改一下login.js

// pages/login/login.js
Page({
 data:{
  userName:'',
  userPassword:'',
 },

 formSubmit:function(e){
  console.log(e.detail.value);//格式 Object {userName: "user", userPassword: "password"}

  //獲得表單數(shù)據(jù)
  var objData = e.detail.value;

  if(objData.userName && objData.userPassword){
   // 同步方式存儲表單數(shù)據(jù)
   wx.setStorage({
    key:'userName', 
    data:objData.userName
   });
   wx.setStorage({
    key:'userPassword', 
    data:objData.userPassword
   });

   //跳轉(zhuǎn)到成功頁面
   wx.navigateTo({
    url: '../index/index'
   })
  }
 },

 //加載完后,處理事件 
 // 如果有本地數(shù)據(jù),則直接顯示
 onLoad:function(options){
  var that = this;
  //獲取本地數(shù)據(jù)
  wx.getStorage({
   key: 'userName',
   success: function(res){
    console.log(res.data);
    that.setData({userName: res.data});
   }
  });
  wx.getStorage({
   key: 'userPassword',
   success: function(res){
    console.log(res.data);
    that.setData({userPassword: res.data});
   }
  });
 },
 onReady:function(){
  // 頁面渲染完成
 },
 onShow:function(){
  // 頁面顯示
 },
 onHide:function(){
  // 頁面隱藏
 },
 onUnload:function(){
  // 頁面關(guān)閉
 }
})

wx.setStorage(OBJECT)

屬性名 類型 必填 說明
key String 本地緩存中的指定的 key
data Object/String 需要存儲的內(nèi)容
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

wx.getStorage(OBJECT)

屬性名 類型 必填 說明
key String 本地緩存中的指定的 key
success Function 接口調(diào)用的回調(diào)函數(shù),res = {data: key對應(yīng)的內(nèi)容}
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

實例四: 清除本地數(shù)據(jù)

這里就不詳細寫了,直接介紹一下這兩個清除本地數(shù)據(jù)的方法。

wx.clearStorage()

wx.clearStorageSync()

直接執(zhí)行即可實現(xiàn)。

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • JavaScript實現(xiàn)隊列結(jié)構(gòu)過程

    JavaScript實現(xiàn)隊列結(jié)構(gòu)過程

    這篇文章主要介紹了JavaScript實現(xiàn)隊列結(jié)構(gòu)的過程,隊列即Queue,它是受限的線性表,先進先出,受限之處在于它只允許在表的前端進行刪除操作,下面我們一起進入文章學(xué)習(xí)更加詳細內(nèi)容,需要的朋友也可以參考一下
    2021-12-12
  • Javascript繼承(上)——對象構(gòu)建介紹

    Javascript繼承(上)——對象構(gòu)建介紹

    Javascript中除了基本數(shù)據(jù)(Undefined、Null、Boolean、Number、String),其他都是對象(Object)
    2012-11-11
  • 微信小程序 input輸入及動態(tài)設(shè)置按鈕的實現(xiàn)

    微信小程序 input輸入及動態(tài)設(shè)置按鈕的實現(xiàn)

    這篇文章主要介紹了微信小程序 input輸入及動態(tài)設(shè)置按鈕的實現(xiàn)的相關(guān)資料,希望通過本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • 微信小程序 開發(fā)之全局配置

    微信小程序 開發(fā)之全局配置

    這篇文章主要介紹了微信小程序 開發(fā)之全局配置的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • JavaScript 運行機制詳解再淺談Event Loop

    JavaScript 運行機制詳解再淺談Event Loop

    這篇文章主要介紹了JavaScript 運行機制詳解及淺談了Event Loop,感興趣的小伙伴可以和小編一起閱讀下面文章的具體內(nèi)容
    2021-09-09
  • JavaScript中5個常用的對象

    JavaScript中5個常用的對象

    JavaScript是一門腳本語言,不同于Python的是,它是一門瀏覽器腳本語言,而Python則是服務(wù)器腳本語言,我們不光要會Python,還要會JavaScript,因為它對做網(wǎng)頁方面是有很大作用的。本篇內(nèi)容小編就來詳細解說JavaScript常用的對象,需要的朋友可以參考一下
    2021-10-10
  • 常用的JavaScript數(shù)組方法

    常用的JavaScript數(shù)組方法

    一說到JavaScript的數(shù)組,大家基本都能馬上想起pop()、push()、shift()、unshift()、indexof()等等,今天小編就給大家分享幾個開發(fā)中常用的js數(shù)組方法即他們的用法。需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • lodash內(nèi)部方法getFuncName及setToString剖析詳解

    lodash內(nèi)部方法getFuncName及setToString剖析詳解

    本篇章我們主要是通過了解lodash里的兩個內(nèi)部方法getFuncName方法和setToString方法,在實際開發(fā)中我們也可以借鑒方法的實現(xiàn)思路,在需要的時候簡單封裝一下,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 微信小程序(二十)slider組件詳細介紹

    微信小程序(二十)slider組件詳細介紹

    這篇文章主要介紹了 微信小程序(二十)slider組件詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2016-09-09
  • JavaScript阻止事件冒泡的方法

    JavaScript阻止事件冒泡的方法

    這篇文章主要介紹了基于JavaScript阻止事件冒泡,事件冒泡?開始時由最具體的元素接收,然后逐級向上傳播到到?DOM?最頂層節(jié)點。更多詳細內(nèi)容請需要的小伙伴參考下面文章的具體內(nèi)容希望對你有所幫助
    2021-12-12

最新評論

桐梓县| 许昌县| 东莞市| 海城市| 衡阳县| 驻马店市| 巴彦县| 固安县| 喀什市| 定日县| 镇远县| 临夏县| 泽普县| 库伦旗| 普兰县| 洪湖市| 二连浩特市| 台安县| 黄平县| 冀州市| 锦屏县| 阿鲁科尔沁旗| 无为县| 民丰县| 兴仁县| 石家庄市| 苍溪县| 桃园市| 定襄县| 松滋市| 新邵县| 富宁县| 南木林县| 原阳县| 浠水县| 通城县| 洪雅县| 汽车| 温泉县| 贡觉县| 桐柏县|