亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 小程序 > 正文

微信小程序實現留言板(Storage)

2020-03-21 16:08:26
字體:
來源:轉載
供稿:網友

本文為大家分享了微信小程序實現留言板的具體實現方法,供大家參考,具體內容如下

先說一下小程序的開發環境之類的基礎東西

1.到微信公眾平臺下載開發者工具。安裝

2.appID與沒有appID的區別是,appID可以用真機預覽,而沒有就不行

3.目錄解釋:

微信小程序,留言板,Storage

a)pages放頁面,每個都必須含有js/json/wxml/wxss四個文件。

js文件類似于js文件,json是配置,比如整個頁面頂端的名字顏色之類的,wxml類似于html,wxss類似于css。

其中代碼格式也相似。

b)utils中放公共js。

c)app開頭的三個文件必備。

留言板:

1.先寫wxml,然后加入class后寫樣式。通過bindtab綁定js中的函數。在js中添加函數。

index.wxml

<!--index.wxml--><!--頁面的實現,相當于html--><view class="msg-box"> <!--留言區--> <view class="send-box">  <input value='{{inputVal}}' bindinput='changeInputVal' class="input" type="text" placeholder='請留言...' placeholder-class='place-input' />  <button size='mini' type="primary" bindtap='addMsg'>添加</button><!--bindtap相當于onclick--> </view>  <text>刷新后添加的數據</text> <text class="msg-info" wx:if="{{msgData.length==0}}">暫無留言...^_^</text>   <!--當留言列表為空時顯示本句-->  <!--留言列表 -->  <view class="list-view">  <view class="item" wx:for="{{msgData}}" wx:key="{{index}}"><!--循環顯示msgData中的數據,key是必須的,否則會出現警告-->   <text class='text1'>{{item.msg}}</text> <!--item是固定的,msg對應msgData中的名-->   <icon data-index="{{index}}" class="close-btn" bindtap='deleMsg' type="cancel"></icon>   </view> </view>  <text>從storage取出的數據</text> <text class="msg-info" wx:if="{{msgData1.length==0}}">暫無留言...^_^</text>   <!--當留言列表為空時顯示本句-->  <view class="list-view">  <view class="item" wx:for="{{msgData1}}" wx:key="{{index}}"><!--循環顯示msgData中的數據,key是必須的,否則會出現警告-->   <text class='text1'>{{item.msg}}</text> <!--item是固定的,msg對應msgData中的名-->   <icon data-index="{{index}}" class="close-btn" bindtap='deleMsg1' type="cancel"></icon>   </view> </view><button type="primary" size='mini' bindtap='showStorage'>storage</button> </view>

其中wx:if和wx:for都是類似于c:if和c:for的寫法。

view類似于div,可以嵌套。

text類似于p,button中的size可以設置大小,type可以選擇微信自帶的樣式

icon是微信自帶的圖標,有多種。

{{msgData}}是通過嵌套的兩個大括號來去js中page{data:{}}中的參數。

wx:key是要寫的,不寫會出警告。

item是固定的,可以修改的是點后面的參數

2.編寫樣式:

index.wxss

/**index.wxss**//*實現樣式,類似于css*/.msg-box{ padding: 20px;}.send-box{ display: flex;}.input{ border: 1px solid #ccc; padding: 5px; border-radius: 5px;}.msg-info{ display: block; margin: 10px 0 0 0; color: #339900;}.place-input{ color: salmon;}.list-view{ margin: 20px 0 0 0;}.item{ overflow: hidden; border-bottom: 1px dashed #ccc; height: 30px; line-height: 30px;}.text1{ float: left;}.close-btn{ float: right; margin: 5px 5px 0 0;}

基本跟css沒什么差別。

3.對應寫js,根據wxml中的bindtab或者bindinput之類的綁定事件來進行編寫

//index.js//實現函數Page({  data: {  inputVal: "",//留言框內的數據  msgData: [],//所有留言數據  msgData1:"" },  changeInputVal(ev) {   this.setData({    inputVal: ev.detail.value//將留言框的數據存儲到inputVal中,方便添加留言時獲取   });  },  addMsg() {   //console.log(this.data.inputVal);   var list = this.data.msgData;//獲取所有留言   list.push({//向list中添加當前添加的留言    msg: this.data.inputVal   });   this.setData({//將所有留言更新到msgData中。    msgData: list,    inputVal: ""//清空留言框內的內容   });   /*獲取storage中的所有數據*/    var list1 = this.data.msgData1;   for(var i=0;i<list.length;i++){    list1.push({     msg:list[i].msg    });   }   /*把新添加的數據添加到要存入stroage的數組中*/    wx.setStorage({    key: 'msgData1',    data: list1,   })   /**把數據存至stroage */   var that = this;   wx.getStorage({    key: 'msgData1',    success: function (res) {     that.setData({      msgData1: res.data     });    },   })     },  deleMsg(ev) {   var list=this.data.msgData;   var n = ev.target.dataset.index;//獲取當前留言的index   list.splice(n, 1);//刪除索引號為n的數據   this.setData({//將所有留言更新到msgData中    msgData: list   });  },  deleMsg1(ev) {   var list = this.data.msgData1;   var n = ev.target.dataset.index;//獲取當前留言的index   list.splice(n, 1);//刪除索引號為n的數據   this.setData({//將所有留言更新到msgData中    msgData1: list   });  }, /**  * 生命周期函數--監聽頁面加載  */ onLoad: function (options) {  /**把storage中的內容取出并賦值給msgData1 */  var that = this;  wx.getStorage({   key: 'msgData1',   success: function (res) {    that.setData({     msgData1: res.data    });   },  }) },})

其中,整個文件必須要有的就是最外層的page({}),自帶了許多函數,如onload,可以酌情使用。本例中使用了onload。

data用來放置數據,在index.js中的數據是index.wxml可以使用的數據。如果是在app.js中帶有的data,則是全局變量。在wxml中要獲取可以通過getapp().參數名來獲取全局變量。

本例是實現了隨著程序的生命周期而存在的msgData和存放到本地緩存的msgData1兩種。

其他文件的內容可以不做任何修改。至此,本留言板完成。

4.可以修改在界面最頂端的顯示字樣

index.json

{ "navigationBarTitleText": "簡易留言板"}

json文件中必須含有最外層的一個大括號。

如果是在app.json中設置,那么所有沒有自定義標題的界面都是顯示“簡易留言板”

如果是在index.json中設置,那么只有index.wxml中顯示“簡易留言板”

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲人线精品午夜| 国产精品99久久久久久久久| 欧美一区二区大胆人体摄影专业网站| 久久久久久91香蕉国产| 精品一区二区电影| 久久久久国产一区二区三区| 国产美女主播一区| 欧美丰满少妇xxxxx做受| 亚洲最大av网| 亚洲精品91美女久久久久久久| 久久精品国产成人| 久久久久国产精品免费| 欧美大尺度电影在线观看| 免费成人高清视频| www.亚洲男人天堂| 国产精品久久久久久婷婷天堂| 日韩国产激情在线| 96pao国产成视频永久免费| 日韩有码在线播放| 中文字幕国产精品| 国产精品久久久久久久久久久久久| 欧美日韩国产中文字幕| 久久久久久久久综合| 国产美女搞久久| 91香蕉亚洲精品| 欧美一级电影免费在线观看| 日韩激情视频在线播放| 热久久这里只有| 亚洲天堂影视av| 国产精品香蕉国产| 97视频在线看| 欧美自拍视频在线观看| 久久久久99精品久久久久| 日韩美女av在线| 欧美乱大交xxxxx| 国产小视频国产精品| 亚洲国产天堂久久国产91| 欧美性猛交xxxx富婆| 久久精品免费电影| xvideos国产精品| 国产日韩亚洲欧美| 亚洲第一页中文字幕| 狠狠躁夜夜躁人人躁婷婷91| 亚洲一区二区免费在线| 日韩激情在线视频| 欧美第一淫aaasss性| 欧美日韩午夜剧场| 中文字幕不卡在线视频极品| 97香蕉超级碰碰久久免费的优势| 亚洲免费伊人电影在线观看av| www.日韩视频| 九九热精品视频国产| 中文字幕精品久久| 亚洲欧洲免费视频| 欧美电影在线观看| 欧美视频在线观看 亚洲欧| 91视频国产一区| 欧美性一区二区三区| 91久久久久久久久久久| 2019亚洲日韩新视频| 国产精品视频免费在线观看| 久久在线免费观看视频| 亚州成人av在线| 欧美成人精品激情在线观看| 欧美壮男野外gaytube| 亚洲国产精品va在看黑人| 国产亚洲美女精品久久久| 日韩精品视频免费| 国内外成人免费激情在线视频网站| 亚洲精品suv精品一区二区| 中文字幕国产亚洲| 中国日韩欧美久久久久久久久| 精品国产1区2区| 国产精品第七十二页| 大伊人狠狠躁夜夜躁av一区| 色青青草原桃花久久综合| 日韩精品视频中文在线观看| 在线性视频日韩欧美| 亚洲成色777777在线观看影院| 亚洲一区二区三区777| 国产精品1区2区在线观看| 高清一区二区三区四区五区| 日韩黄色在线免费观看| 亚洲国产日韩欧美在线图片| 成人欧美在线视频| 亚洲国产成人在线视频| 国产精品成人av在线| 色悠悠国产精品| 国产情人节一区| 菠萝蜜影院一区二区免费| 欧美日韩国产一中文字不卡| 91精品视频免费| 国产成人精品优优av| 欧美怡红院视频一区二区三区| 色视频www在线播放国产成人| 欧美黑人性猛交| 亚洲护士老师的毛茸茸最新章节| 国产日韩精品在线播放| 成人性生交大片免费观看嘿嘿视频| 国产精品自产拍在线观看中文| 亚洲成色www8888| 国产亚洲一区精品| 在线电影av不卡网址| 欧美日韩色婷婷| 欧美激情图片区| 国a精品视频大全| 俺去亚洲欧洲欧美日韩| 国产精品久久久| 国产日产欧美a一级在线| 国产一区二区三区视频| 91高清视频免费观看| 久久精品精品电影网| www.亚洲免费视频| 亚洲高清在线观看| 国产精品久久久亚洲| 68精品国产免费久久久久久婷婷| 日韩欧美中文第一页| 有码中文亚洲精品| 久久艳片www.17c.com| 亚洲淫片在线视频| 欧美乱大交xxxxx另类电影| 久久精品国产一区二区三区| 中文字幕亚洲一区二区三区五十路| 欧美性视频网站| 欧美高清理论片| 久久久久久久一区二区三区| 亚洲专区中文字幕| 91久久综合亚洲鲁鲁五月天| 日韩av手机在线看| 亚洲一区国产精品| 精品国产一区二区三区久久| 久久精品中文字幕| 日本不卡高字幕在线2019| 91精品国产综合久久香蕉| 精品国产电影一区| 欧美xxxx做受欧美.88| 欧美激情乱人伦一区| 亚洲高清在线观看| 日韩在线视频国产| 久久天堂av综合合色| 九九精品在线视频| 成人在线精品视频| 91久久国产精品| 国产成人av网址| 黄色成人在线播放| 欧美有码在线视频| 亚洲最新av网址| 午夜精品一区二区三区在线| 午夜精品福利视频| 欧美性精品220| 亚洲乱码av中文一区二区| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲在线免费视频| 欧美一级电影在线| 91久久在线视频| 91情侣偷在线精品国产| 中文字幕日韩欧美精品在线观看| 欧美日韩成人免费| 国产精品日韩欧美综合| 一区二区三区视频免费| 成人做爰www免费看视频网站| 久久久久一本一区二区青青蜜月| 精品亚洲夜色av98在线观看| 欧美在线性视频|