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

微信小程序?qū)崿F(xiàn)留言板(Storage)

 更新時(shí)間:2018年11月02日 09:00:39   作者:Evilinzz  
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)留言板,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了微信小程序?qū)崿F(xiàn)留言板的具體實(shí)現(xiàn)方法,供大家參考,具體內(nèi)容如下

先說(shuō)一下小程序的開(kāi)發(fā)環(huán)境之類的基礎(chǔ)東西

1.到微信公眾平臺(tái)下載開(kāi)發(fā)者工具。安裝

2.appID與沒(méi)有appID的區(qū)別是,appID可以用真機(jī)預(yù)覽,而沒(méi)有就不行

3.目錄解釋:

a)pages放頁(yè)面,每個(gè)都必須含有js\json\wxml\wxss四個(gè)文件。

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

其中代碼格式也相似。

b)utils中放公共js。

c)app開(kāi)頭的三個(gè)文件必備。

留言板:

1.先寫(xiě)wxml,然后加入class后寫(xiě)樣式。通過(guò)bindtab綁定js中的函數(shù)。在js中添加函數(shù)。

index.wxml

<!--index.wxml-->
<!--頁(yè)面的實(shí)現(xiàn),相當(dāng)于html-->
<view class="msg-box">
 <!--留言區(qū)-->
 <view class="send-box">
  <input value='{{inputVal}}' bindinput='changeInputVal' class="input" type="text" placeholder='請(qǐng)留言...' placeholder-class='place-input' />
  <button size='mini' type="primary" bindtap='addMsg'>添加</button><!--bindtap相當(dāng)于onclick-->
 </view>
  <text>刷新后添加的數(shù)據(jù)</text>
 <text class="msg-info" wx:if="{{msgData.length==0}}">暫無(wú)留言...^_^</text>   <!--當(dāng)留言列表為空時(shí)顯示本句--> 
 <!--留言列表 -->
  <view class="list-view">
  <view class="item" wx:for="{{msgData}}" wx:key="{{index}}"><!--循環(huán)顯示msgData中的數(shù)據(jù),key是必須的,否則會(huì)出現(xiàn)警告-->
   <text class='text1'>{{item.msg}}</text> <!--item是固定的,msg對(duì)應(yīng)msgData中的名-->
   <icon data-index="{{index}}" class="close-btn" bindtap='deleMsg' type="cancel"></icon>
   </view>
 </view>
 
 <text>從storage取出的數(shù)據(jù)</text>
 <text class="msg-info" wx:if="{{msgData1.length==0}}">暫無(wú)留言...^_^</text>   <!--當(dāng)留言列表為空時(shí)顯示本句--> 
 <view class="list-view">
  <view class="item" wx:for="{{msgData1}}" wx:key="{{index}}"><!--循環(huán)顯示msgData中的數(shù)據(jù),key是必須的,否則會(huì)出現(xiàn)警告-->
   <text class='text1'>{{item.msg}}</text> <!--item是固定的,msg對(duì)應(yīng)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的寫(xiě)法。

view類似于div,可以嵌套。

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

icon是微信自帶的圖標(biāo),有多種。

{{msgData}}是通過(guò)嵌套的兩個(gè)大括號(hào)來(lái)去js中page{data:{}}中的參數(shù)。

wx:key是要寫(xiě)的,不寫(xiě)會(huì)出警告。

item是固定的,可以修改的是點(diǎn)后面的參數(shù)

2.編寫(xiě)樣式:

index.wxss

/**index.wxss**/
/*實(shí)現(xiàn)樣式,類似于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沒(méi)什么差別。

3.對(duì)應(yīng)寫(xiě)js,根據(jù)wxml中的bindtab或者bindinput之類的綁定事件來(lái)進(jìn)行編寫(xiě)

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

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

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

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

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

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

index.json

{
 "navigationBarTitleText": "簡(jiǎn)易留言板"
}

json文件中必須含有最外層的一個(gè)大括號(hào)。

如果是在app.json中設(shè)置,那么所有沒(méi)有自定義標(biāo)題的界面都是顯示“簡(jiǎn)易留言板”

如果是在index.json中設(shè)置,那么只有index.wxml中顯示“簡(jiǎn)易留言板”

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js 中的switch表達(dá)式使用示例

    js 中的switch表達(dá)式使用示例

    switch 這種表達(dá)式在很多語(yǔ)言中都有,比如java, C等待, 使用switch比使用if else 來(lái)得方便,來(lái)得清晰,下面為大家詳細(xì)介紹下其具體的使用,感興趣的朋友可以參考下
    2013-09-09
  • JS實(shí)現(xiàn)全屏預(yù)覽F11功能的示例代碼

    JS實(shí)現(xiàn)全屏預(yù)覽F11功能的示例代碼

    這篇文章主要介紹了JS實(shí)現(xiàn)全屏預(yù)覽F11功能的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • JS使用oumousemove和oumouseout動(dòng)態(tài)改變圖片顯示的方法

    JS使用oumousemove和oumouseout動(dòng)態(tài)改變圖片顯示的方法

    這篇文章主要介紹了JS使用oumousemove和oumouseout動(dòng)態(tài)改變圖片顯示的方法,涉及javascript鼠標(biāo)事件及圖片操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • JavaScript 函數(shù)節(jié)流詳解及方法總結(jié)

    JavaScript 函數(shù)節(jié)流詳解及方法總結(jié)

    這篇文章主要介紹了JavaScript 函數(shù)節(jié)流詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Javascript常用字符串判斷函數(shù)代碼分享

    Javascript常用字符串判斷函數(shù)代碼分享

    這篇文章主要分享了一段Javascript常用字符串判斷函數(shù)的代碼,基本上常見(jiàn)的字符串判斷都涵蓋在內(nèi)了,非常實(shí)用,小伙伴們參考下。
    2014-12-12
  • JS異步錯(cuò)誤捕獲的一些事小結(jié)

    JS異步錯(cuò)誤捕獲的一些事小結(jié)

    這篇文章主要給大家介紹了關(guān)于JS異步錯(cuò)誤捕獲的一些事,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Javascript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 如何基于javascript實(shí)現(xiàn)貪吃蛇游戲

    如何基于javascript實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要介紹了如何基于javascript實(shí)現(xiàn)貪吃蛇游戲,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • H5微信公眾號(hào)授權(quán)的簡(jiǎn)單實(shí)現(xiàn)步驟

    H5微信公眾號(hào)授權(quán)的簡(jiǎn)單實(shí)現(xiàn)步驟

    如果用戶在微信客戶端中訪問(wèn)第三方網(wǎng)頁(yè),公眾號(hào)可以通過(guò)微信網(wǎng)頁(yè)授權(quán)機(jī)制,來(lái)獲取用戶基本信息,進(jìn)而實(shí)現(xiàn)業(yè)務(wù)邏輯,這篇文章主要給大家介紹了關(guān)于微信公眾號(hào)授權(quán)的相關(guān)資料,需要的朋友可以參考下
    2021-07-07
  • javascript實(shí)現(xiàn)瀑布流加載圖片原理

    javascript實(shí)現(xiàn)瀑布流加載圖片原理

    這篇文章主要為大家介紹了javascript實(shí)現(xiàn)瀑布流加載圖片效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Bootstrap3學(xué)習(xí)筆記(三)之表格

    Bootstrap3學(xué)習(xí)筆記(三)之表格

    這篇文章主要介紹了Bootstrap3學(xué)習(xí)筆記(三)之表格的相關(guān)資料,需要的朋友可以參考下
    2016-05-05

最新評(píng)論

琼海市| 岳阳县| 墨脱县| 出国| 紫金县| 成安县| 新安县| 广州市| 陆川县| 化隆| 鹿泉市| 吕梁市| 靖宇县| 彰武县| 浦县| 田阳县| 阳新县| 青神县| 昌吉市| 沙雅县| 马关县| 当阳市| 山阴县| 曲松县| 大关县| 祥云县| 天等县| 安图县| 乌恰县| 民县| 玉山县| 财经| 清丰县| 和田县| 柳河县| 仪陇县| 涿州市| 自贡市| 越西县| 行唐县| 龙海市|