検索
ホームページWeChat アプレットミニプログラム開発WeChat ミニプログラム開発経験の概要

WeChat ミニプログラム開発経験の概要

Mar 10, 2017 pm 04:13 PM
WeChat アプレット

この記事は主にWeChatミニプログラム開発体験、概要と開発体験の関連情報を紹介します

WeChatミニプログラム開発体験集

最近、ミニプログラム。が出てきましたが、会社からも小さなプログラムの開発を依頼されました。

それで、私はそれに取り組み始めて、ほぼ1週間取り組みましたが、多くの問題に遭遇しました。 (主にAndroid開発者の視点で話しているため、断片的な知識や経験があるかもしれません。追加があれば歓迎です)

まとめ

1:jsでパラメータの受け渡し、メソッド判定

を渡すことができますメソッドをメソッド内の仮パラメータとして使用することは、Java では不可能です。例えば、開始プロジェクトの


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

は、仮パラメータcbを渡す方法ですが、&&演算ルールを使った非常に賢い判定方法

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

もあり、最初に判定しますcb がメソッドであるかどうか、ここでの == を使用して型が同等であるかどうかを判断できます。次に、前者が満たされない場合、cb がメソッドである場合は後者は実行されません。 pass in success 成功したコールバックのuserinfoパラメータ

もう一つのポイントは、nullの判定条件としてif(this.globalData.userInfo)が使えるのですが、javaでは使えないことです。

2

3 ページのデータでブール型の値を定義するには、isSuccess: "true" ではなく isSuccess: true である必要があります

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


なぜなら、isSucees: "true" の場合、結果は次のようになります。 true であれば問題ありませんが、isSucess: "false" の場合、結果は true のままです

。ここでの isSuccess はブール値ではなく、空ではないため、true の場合は

。デフォルトは未定義、 false の場合

5: 「that」を使用します

page{} の外側で that 変数を定義し、それを onLoad で this に割り当てることをお勧めします。これは、将来どこでも使用できます。オブジェクト

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

6: ページのライフサイクル メソッド

ページを取得できるオプション パラメーターのみが存在します。値など、onloadは一度しか実行されません

が、onShowは実行するたびにページを切り替えることができるため、ページを更新するたびに更新が必要なデータリクエストをテスト後にonShowに配置できるようになります。パフォーマンス エクスペリエンスは基本的に影響を受けません

ページのライフサイクルは Android ほど豊富ではなく、ページ間の値の転送にはある程度の制限があります。

通常の URL 値渡しメソッド (xxx?key = value) を使用して値を渡すことができますが、注意してください: 渡す値は、実際には文字列と URL を結合することと同じです。オブジェクトを渡さないでください。オブジェクトには toString メソッドがないため、直接。


json オブジェクトを渡す手順は次のとおりです:

1. json オブジェクト自体を文字列に変換します。json オブジェクトの場合は、parseString(json) が必要です。 2. URL Splicing? でパラメータ化します。 key=value

3. 取得したらonloadオプションから取り出して

person: {
   name: "jafir",
   age: "11",
}
var name = person["name"];
var age = person["age"];

するとJSON.stringify(value)をjsonオブジェクトに変換して使用します

    7: Jump betweenホーム ページからのページ
  1. 新しいインターフェイスにジャンプします。新しいインターフェイスがロジックの成功または失敗を処理した後、結果をホームページに通知するにはどうすればよいですか?

    通常、この状況を解決する方法はありません。テスト後、ホームページ以外のセカンダリ インターフェイスからナビゲータからホームページを直接開くと、機能せず、エラーが報告されます。
  2. そこで、私たちが採用する戦略は、セカンダリインターフェイスがデータを処理した後、直接戻り、ホームページインターフェイスでデータを再フェッチすることです。したがって、リクエスト インターフェイスは onShow メソッドで実行されるように見えます。 onload は一度だけ実行されるため

  3. 8: wxml
  4. 1.text タグは、bindtap を使用できます

  5. info: {persons:[{name:"123",age:11},{name:"jafir1",age:12}]}
    //如果有数组 通过这种方法获取
     console.log(that.data.info["persons"][1].name)
     console.log(that.data.info["persons"][1].age)

このメソッドを使用して、デフォルトの画像を表示できます

3。 tag data-xx-oo = "value"。これは、対応するオブジェクトの e.currentTarget.dataset.xxOo を通じて取得できます。ここでの xx-oo と -
は、実際にはキャメル ケースをエスケープします。

この一般的な使用シナリオでは、クリックしたビューまたはイベントをバインドしたビューにデータを設定できます。たとえば、ピッカーに 5 つのビューがある場合、イベントが発生したときにビューごとに異なる値をバインドできます。対応する値を取得します


4.如果你想要显隐view你可以通过wx:if="true/false"来处理,但是这样的话,如果为false,page不会去渲染这个view,它所在的位置空间也不会预留,假如下面的view就会往上排。如果想要留存它的位置空间,可以修改其style样式来解决

style="visibility:{{isShow?'visible':'hidden'}}"

9:统一网络请求处理结果

你可以封装一下网络请求的返回结果,做统一处理

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: 开始请求接口[' + paramsData.url + ']');
 //开始网络请求
 wx.request({
  url: paramsData.url,
  data: paramsData.data,
  method: paramsData.method,
  success: function (res) {
   console.log('requestInternal: 接口请求成功[' + paramsData.url + ']');
   paramsData.success(res);
  },
  fail: function (res) {
   console.log('requestInternal: 接口请求失败[' + paramsData.url + ']');
   console.log(res);
   ////在这里做请求失败的统一处理
   wx.showToast({
    title: '网络访问失败',
    duration: 1500
   })
   typeof paramsData.fail == "function" && paramsData.fail(res);
  },
  complete: function (res) {
//在这里做完成的统一处理
   typeof paramsData.complete == "function" && paramsData.complete(res);
  }
 })
}

这样在使用请求的时候,可以直接先wx.request({}) 这样,就可以IDE给你联想生成对应的请求格式,然后直接把“wx.request” 替换 “requestWithGet”或者“requestWithPost”就OK了

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

以上がWeChat ミニプログラム開発経験の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境