WeChatミニプログラム開発のためのコンポーネント設計仕様

WeChatミニプログラム開発のためのコンポーネント設計仕様

WeChat ミニプログラム コンポーネント設計仕様

コンポーネントベースの開発という考え方は、私の開発および設計プロセスに貫かれています。私は長い間、このような考え方から恩恵を受けてきました。

  1. 再利用可能なコンポーネント - 重複するコードの量を削減
  2. コンポーネントは独立した機能ユニットとして、メンテナンスが容易
  3. コンポーネントはテンプレートとして使用され、wxmlにwxsを導入する代わりにさまざまな属性を簡単に計算できます。

小さなプログラムのコンポーネントを日常的に開発する際、私は通常、次のルールに従います。

1. スタイルの独立性と依存関係の独立性

コンポーネントの開発中、コンポーネントはグローバル スタイルに依存できます。コンポーネントが導入されると、ページ スタイルとグローバル スタイルの両方を使用してレンダリングされます。

オプション:
    グローバルクラスを追加: true、
    複数スロット: true
}

ただし、コンポーネントの移植性に基づいて、各コンポーネントをグローバル スタイルに依存しないように構成することをお勧めします。

オプション:
    addGlobalClass: false、
    複数スロット: true
}

各コンポーネントの wxss 構成で、各コンポーネントに必要なスタイルを選択します。

コンポーネント開発中、app.jsにコンポーネントを導入することができます。

const app = getApp();

しかし、移植の利便性を考慮すると、コンポーネント内のグローバルデータを取得するには Storge を使用する方が適切です。

いくつかの js ファイルに依存する場合でも、ファイルをコンポーネント ディレクトリに配置してインポートできます。

プロパティ値設定リスナー

コンポーネントはページから渡された値を受け取ることができますが、コンポーネント内のデータ形式がページの表示要件と一致しない可能性があり、いくつかの調整が必要になります。これらの調整はコンポーネントに実装することをお勧めします。コンポーネント内のデータに変更を加えても、ページ内のデータには影響しません。

プロパティ:
    アクティブ:{
      タイプ:数値、
      オブザーバー:関数(newVal,oldVal){
        //データを前処理する}
    }
}

3. ページスタックを変更するすべての操作は、ページによって完了します。

ページAのコンポーネントCをクリックするとページEにジャンプします

ページBのコンポーネントCをクリックするとページFにジャンプします

この場合、クリック イベントは処理のためにページに渡され、コンポーネントはイベント通知のみを行います。特定のジャンプ イベントは、ページ内の関数によって実装されます。

コンポーネントでの使用:

this.triggerEvent('click',引数)

ページA:

<c-component bind:click="navtoPageE" />

ページ B:

<c-component bind:click="navtoPageF" />

コンポーネント内にコンポーネントを入れ子にしないようにしてください

コンポーネント内に読み込みコンポーネントを使用していましたが、読み込みコンポーネントの表示をパラメータで制御しており、非表示にできない問題が発生したため、特定のコンポーネントが見つけられませんでした。

コンポーネントは統一されたクラスを定義する

これは、テンプレートとしてよく使用されるコンポーネント内のメソッドの統一された呼び出しを容易にするためのものです。

acmp = this.selectAllComponents('.card') とします。
acmp.forEach(関数 (ele, インデックス) {
    ele.closeActionBar();
})

コンポーネントライフサイクルの使用

コンポーネントはライフサイクルをサポートします。一度だけ初期化する必要がある一部のデータまたはカウンター関数は、添付された状態で完了する必要があります。

生涯:
    添付(){
      this.setData({
        オープンID:app.globalData.openid
      })
    }
}

参照ドキュメント

WeChat ミニプログラム - ページとコンポーネント間で情報を転送し、機能を呼び出す方法

WeChat ミニプログラム - ミニプログラムの開発をスピードアップするためのヒント

要約する

WeChatミニプログラム開発のコンポーネント設計仕様に関するこの記事はこれで終わりです。WeChatミニプログラムコンポーネントの関連コンテンツについては、123WORDPRESS.COMで以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • WeChat アプレットのラジオチェックボックスコンポーネントの詳細な説明とサンプルコード
  • WeChat アプレット ピッカー コンポーネント ドロップダウン ボックスの選択入力入力ボックスの例
  • WeChatアプレットボタンコンポーネントの詳細な説明と簡単な例
  • WeChat アプレットカウントダウンコンポーネント実装コード
  • WeChat アプレット スワイパー コンポーネント カルーセルの詳細な説明と例
  • WeChatアプレット開発でvant uiコンポーネントを正しく使用する方法の詳細な説明
  • WeChatミニプログラム(10)スワイパーコンポーネントの詳細な紹介
  • WeChatミニプログラム(XIV)ボタンコンポーネントの詳細な紹介
  • WeChatアプレットが画像プリロードコンポーネントを実装
  • WeChatアプレット画像コンポーネント例の詳細な説明

<<:  MYSQL は、指定されたユーザーのランキングとクエリを実装します。ランキング関数 (並列ランキング関数) のサンプルコード

>>:  Linux nohup はプログラムをバックグラウンドで実行し、表示します (nohup と &)

推薦する

Javascript 構造化代入の詳細

目次1. 配列の分解2. オブジェクトの分解3. 不完全な解体4. 分割代入を使用して変数交換を実装...

HTML ハイパーリンクの詳細な説明

ハイパーリンクハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間...

ネイティブ CSS で無限テキストカルーセルを実装する一般的な方法

テキストカルーセルは私たちの日常生活で非常に一般的です。スーパーマーケットや実店舗の入り口には、テキ...

DockerコンテナにNFS共有ディレクトリをマウントする実装

以前、https://www.jb51.net/article/205922.htm で、Docke...

tomcat+nginx を使用してマルチアプリケーション デプロイメントを実装するためのサンプル コード

目次マルチアプリケーションの展開1-Tomcat 構成1.1- プロジェクト構成1.2-サービス構成...

ドロップダウンメニューとスライドメニューのデザイン例

ドロップダウン メニューやスライド メニューを使用している Web サイトをたくさん見つけたので、私...

HTML にオーディオファイルを挿入してブラウザで再生する場合の互換性の問題

HTML にオーディオ ファイルを挿入した後 (mp3 ファイルを再生した後) に発生したいくつかの...

MySQL 8.0.15 で MGR シングル マスターと複数スレーブを構成する方法

1. はじめにMySQL グループ レプリケーション (略して MGR) は文字通り MySQL グ...

Centos7.5 は mysql5.7.24 バイナリ パッケージの展開をインストールします

1. 環境整備:オペレーティング システム: CentOS Linux リリース 7.5.1804 ...

MySQLのスケジュールタスクが正常に実行できない原因の分析と解決

目次序文原因分析と解決策スケジュールされたタスクを迅速に実行する要約する序文データベースのスケジュー...

MySQL および Oracle のバッチ挿入 SQL の一般的な記述例

目次例えば:一般的な執筆:要約する例えば:次に、データベースのUSERテーブルにUserオブジェクト...

MySQL テーブルスペースの断片化の概念と関連する問題の解決策

目次背景表領域の断片化とは何ですか?表領域の断片化を確認する方法表スペースの断片化問題を解決する方法...

VueはElement el-uploadコンポーネントを使用してピットに足を踏み入れます

目次1. 基本的な使い方2. 画像量の制御3. 画像形式の制限/複数の画像を選択可能補足: vueプ...

VUEユニアプリ開発環境についての簡単な説明

目次1. HBuilderXビジュアルインターフェースを通じて2. vue-cliコマンドで実行する...

コードレイン効果を実現するJavaScriptキャンバス

この記事では、コードレイン効果を実現するためのキャンバスの具体的なコードを参考までに共有します。具体...