成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎樣開發(fā)微信小程序-創(chuàng)新互聯(lián)

小編給大家分享一下怎樣開發(fā)微信小程序,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括五臺(tái)網(wǎng)站建設(shè)、五臺(tái)網(wǎng)站制作、五臺(tái)網(wǎng)頁制作以及五臺(tái)網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,五臺(tái)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到五臺(tái)省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

微信小程序 開發(fā)經(jīng)驗(yàn)整理

前言:

最近小程序出來了,公司也要求我們開發(fā)一款小程序。

于是,就開始著手做了,做了差不多一周吧,也遇到了很多問題,這里就來總結(jié)一下。(主要是從一個(gè)Android開發(fā)者的角度來述說的,可能比較零碎的一些知識(shí)點(diǎn)和經(jīng)驗(yàn),如果大家還有補(bǔ)充,歡迎)

總結(jié)

1:傳參,方法判斷

js中 方法中可以傳遞一個(gè)方法作為形參,在java中是不可以的。比如start項(xiàng)目中的

getUserInfo:function(cb){
 var that = this
 if(this.globalData.userInfo){
  typeof cb == "function" && cb(this.globalData.userInfo)
 }else{
  //調(diào)用登錄接口
  wx.login({
   success: function () {
    wx.getUserInfo({
     success: function (res) {
      that.globalData.userInfo = res.userInfo
      typeof cb == "function" && cb(that.globalData.userInfo)
     }
    })
   }
  })
 }
},

這里就是傳遞一個(gè)形參,cb的方法,并且這里還有一個(gè)很巧妙的判斷方法

typeof cb == "function" && cb(that.globalData.userInfo)

利用的&&的運(yùn)算規(guī)律,首先判斷cb是不是一個(gè)方法, 這里的==可以作為類型是否相當(dāng)?shù)呐袛?,然后?amp;&中如果前面的不滿足,后面的則不會(huì)執(zhí)行;如果是cb是一個(gè)方法,調(diào)用cb方法,并且傳入success成功回調(diào)的userinfo參數(shù)

還有一點(diǎn),if(this.globalData.userInfo) 可以作為是否為null的判斷條件,在java中不可以。

2:log打印

log的打印,如果直接打印“”+變量 是不可以的,因?yàn)槿思覜]有toString()方法

X console.log("info"+info);

所以只能分開打印

console.log("info");
console.log(info);

3: json取對(duì)象

json的使用,可以通過 json["key"]來取其子對(duì)象

person: {
   name: "jafir",
   age: "11",
}
var name = person["name"];
var age = person["age"];
info: {persons:[{name:"123",age:11},{name:"jafir1",age:12}]}
//如果有數(shù)組 通過這種方法獲取
 console.log(that.data.info["persons"][1].name)
 console.log(that.data.info["persons"][1].age)

4:定義boolean類型值

要注意如果在page的data中要定義一個(gè)boolean類型的值,必須是 isSuccess : true而不是 isSuccess :"true"

if (this.data.isSccess) {
   console.log("true")
  } else {
   console.log("false")
  }

因?yàn)槿绻莍sSucees : "true" ,結(jié)果為true,沒問題,但是如果是isSucess:"false",結(jié)果依舊為true,

因?yàn)檫@里的isSuccess不是boolean,而是一個(gè)非空類型,既然非空,if就是為true

如果,默認(rèn)undefined,if則為false

5:使用"that"

建議在 page{}外面定義一個(gè)that變量,然后在onLoad中賦值為this,以后所有的地方,都可以使用that,這樣就避免有些地方,this并不是指向page的上下文對(duì)象

//上下文對(duì)象
var that;
page({
 onLoad: function (options) {
  // 頁面初始化 options為頁面跳轉(zhuǎn)所帶來的參數(shù)
  that = this;
 }

...
that.setData({
    xxx: xxx,
   })
})

6:page的生命周期方法

  1. 只有onload中有options參數(shù),可以獲取頁面?zhèn)髦档鹊?,onload只會(huì)執(zhí)行一次

  2. 但是onShow可以每次切換頁面的時(shí)候執(zhí)行,所以,需要每次刷新頁面的數(shù)據(jù)請(qǐng)求,可以放在onShow中,測(cè)試過,性能體驗(yàn)基本無影響

  3. page的生命周期沒有Android那么豐富,頁面之間傳值也有一定的限制。

  4. 可以通過普通的url的傳值方式傳值,xxx?key = value ,但是要注意:我們傳的值其實(shí)是相當(dāng)于字符串和url拼接在一起,請(qǐng)不要直接傳一個(gè)對(duì)象,因?yàn)閷?duì)象沒有toString方法。

傳遞json對(duì)象的步驟為:

1.把json對(duì)象變成字符串,如果本身就是那就直接用,如果是json對(duì)象,需要 parseString(json)

2.和url進(jìn)行參數(shù)拼接?key=value

3.取得時(shí)候在onload的options里面取出,

onLoad: function (options) {
var value= options.key
}

然后JSON.stringify(value)轉(zhuǎn)為json對(duì)象使用

7: 頁面間跳轉(zhuǎn)

從主頁跳轉(zhuǎn)一個(gè)新的界面 新界面處理完邏輯 成功與否 結(jié)束之后怎么通知 主頁結(jié)果?
這種情況,一般是沒有辦法解決的。經(jīng)過測(cè)試,如果你想要從二級(jí)非主頁界面直接navigator打開主頁,是不行的,會(huì)報(bào)錯(cuò)。

所以,我們采用的策略是:二級(jí)界面處理完數(shù)據(jù)之后,直接返回,然后在主頁界面重新拉取數(shù)據(jù)。所以會(huì)出現(xiàn),我們的請(qǐng)求接口是在onShow方法里面執(zhí)行的。因?yàn)閛nload只會(huì)執(zhí)行一次

8:wxml

1.text標(biāo)簽可以使用bindtap

<image src="{{logoUrl?logoUrl:'../../img/paihao.png'}}"></image>

可以使用這種方式來顯示默認(rèn)的圖片

3.再強(qiáng)調(diào)一下 在標(biāo)簽中使用data-xx-oo ="value",在對(duì)應(yīng)對(duì)象中可以通過e.currentTarget.dataset.xxOo獲得,這里的xx-oo ,-其實(shí)是會(huì)轉(zhuǎn)義駝峰。這種一般使用場(chǎng)景為 你可以給你所點(diǎn)擊或者綁定事件的view設(shè)置一個(gè)數(shù)據(jù),比如你一個(gè)picker里面有5個(gè)view,就可以綁定每個(gè)view不同的值,在觸發(fā)事件的時(shí)候取到相應(yīng)的值

4.如果你想要顯隱view你可以通過wx:if="true/false"來處理,但是這樣的話,如果為false,page不會(huì)去渲染這個(gè)view,它所在的位置空間也不會(huì)預(yù)留,假如下面的view就會(huì)往上排。如果想要留存它的位置空間,可以修改其style樣式來解決


9:統(tǒng)一網(wǎng)絡(luò)請(qǐng)求處理結(jié)果

你可以封裝一下網(wǎng)絡(luò)請(qǐng)求的返回結(jié)果,做統(tǒng)一處理

requestWithGet: function(paramsData) {
 data.method = 'GET'
 this.requestInternal(paramsData)
},
requestWithPost: function(paramsData) {
 data.method = 'POST'
 this.requestInternal(paramsData)
},
requestInternal: function (paramsData) {
 var that = this;
 console.log('requestInternal: 開始請(qǐng)求接口[' + paramsData.url + ']');
 //開始網(wǎng)絡(luò)請(qǐng)求
 wx.request({
  url: paramsData.url,
  data: paramsData.data,
  method: paramsData.method,
  success: function (res) {
   console.log('requestInternal: 接口請(qǐng)求成功[' + paramsData.url + ']');
   paramsData.success(res);
  },
  fail: function (res) {
   console.log('requestInternal: 接口請(qǐng)求失敗[' + paramsData.url + ']');
   console.log(res);
   ////在這里做請(qǐng)求失敗的統(tǒng)一處理
   wx.showToast({
    title: '網(wǎng)絡(luò)訪問失敗',
    duration: 1500
   })
   typeof paramsData.fail == "function" && paramsData.fail(res);
  },
  complete: function (res) {
//在這里做完成的統(tǒng)一處理
   typeof paramsData.complete == "function" && paramsData.complete(res);
  }
 })
}

這樣在使用請(qǐng)求的時(shí)候,可以直接先wx.request({}) 這樣,就可以IDE給你聯(lián)想生成對(duì)應(yīng)的請(qǐng)求格式,然后直接把“wx.request” 替換 “requestWithGet”或者“requestWithPost”就OK了

以上是“怎樣開發(fā)微信小程序”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站jinyejixie.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文名稱:怎樣開發(fā)微信小程序-創(chuàng)新互聯(lián)
當(dāng)前URL:http://jinyejixie.com/article14/dciide.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、建站公司、Google、關(guān)鍵詞優(yōu)化、定制網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
轮台县| 鄯善县| 重庆市| 当雄县| 长海县| 东至县| 涟水县| 东丰县| 玛多县| 郸城县| 临漳县| 惠水县| 沁源县| 台山市| 武清区| 富阳市| 疏勒县| 铁岭市| 富民县| 竹北市| 松江区| 仙居县| 淅川县| 青海省| 兴和县| 云和县| 辉南县| 邢台县| 曲周县| 徐汇区| 宁波市| 繁昌县| 辽中县| 太仓市| 万全县| 西吉县| 夹江县| 山东省| 抚远县| 和政县| 秭归县|