WeChatアプレット開発の共通機能と使用方法のまとめ

WeChatアプレット開発の共通機能と使用方法のまとめ

ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理しました。それらを見てみましょう。

1. 高さと幅を取得する

var windowHeight = wx.getSystemInfoSync().windowHeight
var windowWidth = wx.getSystemInfoSync().windowWidth

2. 動的バインディングスタイルとクラス

クラス="operBtn {{select==1?'activeClass':''}}"
スタイル="display:{{displayPhoto}}"

3. wx:if

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

4. クリックイベント

<van-tag plain style="margin-left:10px;" bindtap="toggle">すべて選択</van-tag>
//クリック イベントのバブリング イベント catchtap<van-button class="shop-but" size="mini" icon="like-o" catchtap="getWish" data-pro_id='{{item.product_id}}'></van-button>

//クリックデータを取得する let id = e.currentTarget.dataset.id

5. wx: の場合

// コンポーネントの wx:for コントロール属性を使用して配列をバインドし、配列内の各項目のデータを使用してコンポーネントを繰り返しレンダリングできます。
//配列内の現在の項目のデフォルトの添え字変数名はindexで、配列内の現在の項目のデフォルトの変数名はitemです。
<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</ビュー>

//または//wx:for-itemを使用して配列の現在の要素の変数名を指定します。
//wx:for-index を使用して、配列の現在のインデックスの変数名を指定します。
<view wx:for="{{array}}" wx:for-index="idx​​" wx:for-item="itemName">
  {{idx}}: {{itemName.message}}
</ビュー>

6. データ内のデータ

//ストレージ this.setData({
        結果: イベントの詳細
      });
 // this.data.result を使用する

7. ページ構成を変更します。プルダウンして更新したり、ページタイトルを変更したりできます

"プルダウンリフレッシュを有効にする": true,
"ナビゲーションバーの背景色": "#FFA500",
"navigationBarTitleText": "私の請求書",
"ナビゲーションバーのテキストスタイル": "白"

8. ページタイトルを動的に変更する

wx.setナビゲーションバータイトル({
     タイトル: this.data.info.name
})

9. 水平線

<van-divider カスタムスタイル="margin:10px 0;" />

10. WXS (WeiXin Script) は、小規模なプログラム用のスクリプト言語です。WXML と組み合わせて、ページの構造を構築できます。

//時刻形式 <wxs module="format">
    var フォーマット = 関数(日付) {
        var date = getDate(日付)
        var 年 = date.getFullYear()
        var 月 = date.getMonth() + 1
        var 日 = date.getDate()
        var weekDay = date.getDay()
        var 週 = ''
        switch(曜日){ 
            ケース0: 
                週 = '日曜日'
                壊す; 
            ケース1:
                週 = '月曜日'
                壊す; 
            ケース2: 
                週 = '火曜日'
                壊す; 
            ケース3: 
                週 = '水曜日'
                壊す; 
            ケース4: 
                週 = '木曜日'
                壊す; 
            ケース5: 
                週 = '金曜日'
                壊す; 
            ケース6: 
                週 = '土曜日'
                壊す; 
        }
        月 + '月' + 日 + '日' + ' ' + 週を返します。
    }
module.exports.format = フォーマット;
</wxs>


//モバイルメールボックスにアスタリスクを付ける<wxs module="phone">
var toHide = 関数(配列) {
  var mphone = array.substring(0, 3) + '****' + array.substring(7);
  mphone を返します。
}
モジュールをエクスポートして非表示にする
</wxs>

11. ビデオ、属性の使用

<ビデオ 
      id="myVideo" 
      src="{{url}}" 
      binderror="videoErrorCallback" 
      表示センター再生ボタン='{{false}}' 
      再生ボタンを表示 = "{{true}}"
      コントロール
      title="コース"
      オブジェクトフィット="fill"
      自動回転を有効にする="true"
      bindtimeupdate="bindtimeupdate"
    </ビデオ>
//

 videoCtx = wx.createVideoContext('myVideo', this) を作成します。
ビデオCtx.一時停止()


//bindtimeupdate 進行時間を取得し、時間に応じて再生操作を制限する bindtimeupdate:function(res){//再生関数、現在の再生時間の確認など。let video_status = this.data.video_status
        それを = これとする
        (res.detail.currentTime > 10)の場合{
            ビデオステータス === '0' の場合
                wx.showModal({
                    タイトル: 「ログイン」
                    content: '体験コースは終了しました。引き続き視聴する場合は、まずログインしてください',confirmText:'確認',
                    成功(res){
                      (res.confirm)の場合{
                        wx.switchTab({
                            URL: '/pages/user/user'
                        })
                      } そうでない場合 (res.cancel) {
                        wx.navigateBack({
                          デルタ: 1,
                        })
                      }
                    }
                })
            } そうでない場合 (video_status === '2'){
                videoCtx = wx.createVideoContext('myVideo', this) を作成します。
                ビデオCtx.一時停止()
                wx.showModal({
                    タイトル:「コースを購入」
                    content: 'トライアルコースは終了しました。引き続き視聴する場合は、まず購入してください'、confirmText: '今すぐお支払いください'、
                    成功(res){
                    (res.confirm)の場合{
                        onClickButton() 関数
                    } そうでない場合 (res.cancel) {
                        wx.navigateBack({
                        デルタ: 1,
                        })
                    }
                    }
                })
            }
            
        } それ以外 {
            
        }
    },

12. データストレージ

//保存してみる{
          wx.setStorageSync('車', 情報)
        キャッチ(e){}
//取得してみる{
      var 値 = wx.getStorageSync('car')
      if (値) {
        this.setData({
          ApplyContent:値
        })
      }
    } キャッチ (e) {
    }

13. マップの使用

//公式サイト const QQMapWX = require('../../assets/js/qqmap-wx-jssdk')
定数qqmapsdk = 新しいQQMapWX({
    キー: 'XSTBZ-G74CJ-7BVFQ-KC2JD-ONRK5-ZABGU'
})

住所場所を取得する(){
        それを = これとする
        wx.getLocation({
        タイプ: 'gcj02',
        成功(res){
            定数緯度 = res.緯度
            定数経度 = res.経度
            that.getAddress(緯度、経度)
            
        }
        })
    },
    getAddress(緯度、経度) {
        それを = これとする
        qqmapsdk.reverseGeocoder({
            場所: {緯度,経度},
            成功(res) {
                コンソールログ(res);
                var mks = []
                mks.push({ // 返された結果を取得し、それをmks配列に格納します title: res.result.address,
                    id: 1,
                    緯度: 緯度、
                    経度: 経度、
                    iconPath: "../../img/mk.png", //アイコンパスの幅: 20,
                    高さ: 20
                })
                that.setData({
                    アドレス:res.result.address、
                    マーカー: mks、
                    緯度: 緯度、
                    経度: 経度、
                })
            }
        })
    },

14. コピーをクリック

コピーボタン: 関数 (e) {
        var currentidx = e.currentTarget.dataset.num;
        コンソールログ(現在のIDx); 
        wx.setクリップボードデータ({
        データ: 現在のIDX、
        成功: 関数 (res) {
            wx.showToast({
            タイトル: 「コピー成功」
            });
        }
        });
    },

要約する

WeChat アプレット開発の共通機能と使用方法についての記事はこれで終わりです。WeChat アプレット開発の共通機能に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレット開発ツールのショートカットキーの概要
  • WeChatアプレット開発の詳細な説明(ゼロからのプロジェクト)
  • WeChat アプレット開発のための 40 の技術的ヒントのまとめ (推奨)
  • WeChat ミニプログラム開発 - 入門チュートリアル
  • WeChatミニプログラムクラウド開発詳細チュートリアル
  • WeChat ミニプログラムを使用してフロントエンドを開発する [クイック スタート]
  • WeChatアプレット開発体験の概要(推奨)
  • WeChat ミニプログラム開発の基本チュートリアル

<<:  MySQLアカウントのパスワード変更方法(概要)

>>:  dockerでsshd操作を有効にする

推薦する

CSS で画像アダプティブ コンテナを実装するいくつかの方法 (要約)

多くの場合、画像をコンテナのサイズに合わせて調整する必要があります。 1. imgタグ方式幅と高さを...

IE で ClearType をオンにした後の透明フォントの問題の解決方法

IE で ClearType をオンにした後に発生する透明フォントの問題を解決するには、透明要素に背...

ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...

InnoDB の主な機能 - 挿入キャッシュ、2 度書き込み、適応ハッシュ インデックスの詳細

InnoDB ストレージ エンジンの主な機能には、挿入バッファ、二重書き込み、適応ハッシュインデック...

Docker ディスク領域クリーニングのソリューション

少し前に、docker ディスク容量が小さすぎてデータを書き込めないという問題が発生しました。理由は...

JavaScript の基礎: スコープ

目次範囲グローバルスコープ関数のスコープもし、スイッチ、のために、その間ブロックスコープスコープチェ...

レスポンシブ Web デザインが価値のない 5 つの理由

この記事は Tom Ewer の Managewp ブログからのもので、現在人気のレスポンシブ デザ...

Mysql での結合操作

結合の種類1. 内部結合: 結合関係を持つ 2 つのテーブル内のフィールドは、結合関係を満たすレコー...

MySQLデータベースを操作するためのコマンドラインツールmycliの簡単な紹介

GitHub にはあらゆる種類の魔法のツールがあります。今日、私はデータベースを操作するためのコマン...

nginxワーカープロセスループの実装

ワーカープロセスは、起動されると、まず自身の動作に必要な環境を初期化し、次に実行する必要があるイベン...

MySQL 8.0 DDLアトミック機能と実装原則

1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...

WeChatアプレットがSMSログインを実装

目次1. インターフェース効果のプレビュー2.uViewのインストール3.uViewの設定3.1 m...

Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例

この記事は主に、Nginx のフォワード プロキシとリバース プロキシ、および負荷分散機能の設定コー...

Vue の親子コンポーネントの値転送と一方向データフローの問題の詳細な説明

目次序文1. 親コンポーネントが子コンポーネントに値を渡す2. サブコンポーネントのprops型制約...

ブラウザは関連するHTTPヘッダーをキャッシュし、HTTPリクエストの数を最小限に抑えます。

最近、Yahoo の 34 の黄金律を読み、ウェブサイトのパフォーマンスを最適化する方法を学びました...