アプリを登録するときに何をすればよいですか?
ページを登録するときに通常何をする必要がありますか?
wxml テンプレートと include についてwxmlでは、ページ/コンポーネントで定義された関数を直接呼び出すことはできません。 wxml ファイルでテンプレート タグを定義します。テンプレート タグは呼び出されないとレンダリングされません。 name属性はis属性に対応しており、{{}}構文を使用できます。 <テンプレート名="コンポーネント"> <view>ハハハ</view> <text>やあ、やあ、やあ</text> <テキスト>{{名前}}</テキスト> <テキスト>{{年齢}}</テキスト> </テンプレート> <テンプレートは="コンポーネント"/> <テンプレートは="コンポーネント"/> <テンプレートは="コンポーネント"/> <template is="compoent" data="{{name: '小屏', age:'123'}}" /> wxml をインポートする方法は 2 つあります。 輸入 1: 主にテンプレートをインポートする 2: 再帰インポートができないのが特徴 紹介文を含める: 1: 共通コンポーネントをファイルに抽出する 機能: テンプレート/wxs をインポートできない/再帰的にインポートできる wxsモジュールwxsモジュールは、wxmlと組み合わせた小さなプログラム用のスクリプト言語であり、ページの構造を構築できます。 wxs と javascript は異なる言語であり、独自の構文を持ち、JavaScript と一致しません。 (でも基本的には同じです) wxmlでは、ページ/コンポーネントで定義された関数を直接呼び出すことはできません。 しかし、場合によっては、関数を使用して wxml 内のデータを処理する (Vue のフィルターに似た) 必要があるため、この場合は wxs が使用されます。 wxl の使用上の制限と機能: WXS ランタイム環境は他の JavaScript コードから分離されています。WXS は他の JavaScript ファイルで定義された関数を呼び出すことも、アプレット内の API を呼び出すこともできません。 wxs は配列の関数コールバックとして使用できません。 動作環境の違いにより、iOS 端末上のアプレットにおける wxs は JavaScript よりも 2 ~ 20 倍高速ですが、Android 端末では両者の動作効率に差はありません。 ミニプログラムのコンポーネント化ミニプログラム コンポーネントと、そのコンポーネントを呼び出すページ スタイルは相互に影響を与えません。 コンポーネントを呼び出すには、ページ上の json ファイルにコンポーネント名とパスを追加する必要があります。 { "コンポーネントの使用": { "my-cut":"/pages/compent/my-cut" } } ページとコンポーネントのスタイルが互いに影響し合う必要がある場合は、オプションのstyleIsolationプロパティを使用できます。 コンポーネントのjsファイルComponent({}) // コンポーネントのオプションの styleIsolation を設定すると: "apply-shared" により、ページ設定のスタイル属性がコンポーネントのスタイルに影響します // コンポーネントのオプションの styleIsolation を設定すると: "shared" により、ページ設定のスタイル属性がコンポーネントのスタイルに影響しますComponent({ オプション:{ スタイル分離: "apply-shared" }, }) コンポーネント間の動的変換にはプロパティを使用する コンポーネントでは、externalClassesプロパティを使用してCSSスタイルを動的に設定できます。 成分({ プロパティ: // タイトル: 文字列 タイトル:{ タイプ: 文字列、 値: "私はデフォルト値です", //新しい値と古い値を監視するオブザーバー: function(newVal,oldVal){ コンソールログ(新しい値、古い値) } }, }, // コンポーネントでは、このプロパティを使用して CSS スタイルを動的に設定できます externalClasses: ["tltleclass"] }) ページ内のプロパティの呼び出し <my-cut title="ハハ" tltleclass="red"></my-cut> <my-cut title="やあやあ" tltleclass="green" /> <マイカット/> ページ CSS ファイル 。赤{ 色: 赤; } 。緑{ 色: 緑; } コンポーネントとページ間の関数呼び出しページ上でコンポーネントを使用する場合、コンポーネント データを変更する必要があることがあります。その場合、ページの js ファイル内でコンポーネント データを呼び出す必要があります。 アプレットには、コンポーネント オブジェクトを取得できる selectComponent('.class/#xxx') があります。 コンポーネント wxml <view class="contention"> <block wx:for="{{titled}}" wx:key="index"> <view class="tit"> <text class="intext {{index == increat? 'active' : ''}}" data-count="{{index}}" bindtap="targetTap">{{item}}</text> </view> </ブロック> </ビュー> コンポーネント js メソッド: { ターゲットタップ(e){ 定数インデックス = e.currentTarget.dataset.count this.setData({ 増加:インデックス }) this.triggerEvent("ターゲットカウント"、{}) }, 修正する(){ this.setData({ タイトル: ["政治学", "数学", "英語"] }) } } ページ wxml <switch titled="{{list}}" bind:targetCount="targetCount" class="sw-class"></switch> ページ js ターゲットカウント(){ //コンポーネントオブジェクトを取得します。const content = this.selectComponent('.sw-class') コンソール.log(コンテンツ) // コンテンツ.setData({ // titled:["政治学", "数学", "英語"] // }) // オープン仕様では、一般的に関数を直接変更するこの方法は推奨されていません。コンポーネント内のメソッドを使用してメソッドを変更し、ページで content.amend() を呼び出すことをお勧めします。 }, ミニプログラムコンポーネントスロットの使用シングルスロット コンポーネント wxml <表示> 私はタイトルです</view> <スロット></スロット> <表示> 私はコンテンツです</view> ページ wxml の使用 <私のスロット> <button size="mini"> ボタン</button> </my-slot> <私のスロット> <画像 src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg2.woyaogexing.com%2F2021%2F04%2F26%2F1b402c98095d452486508b8250b21f3f%21360x640.jpeg&refer=http%3A%2F%2Fimg2.woyaogexing.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1625711145&t=d9d310d5e9c878a9d4b7bc7057f2b754"/> </my-slot> <私のスロット> <スライダー値="20"></スライダー> </my-slot> 複数のスロットを使用する name属性を使用して各スロットに名前を付ける必要があります コンポーネントオブジェクトのオプションオブジェクトのmultipleSoltsプロパティをtrueに設定する必要があります。 コンポーネント wxml <view>私はマルチスロットのタイトルです</view> <ビュー> <スロット名="スロット1" ></スロット> </ビュー> <view> <スロット名="slot2" ></スロット> </view> <view> <スロット名="slot3" ></スロット> </view> <view>私はマルチスロットの末尾です</view> コンポーネント js ファイル 成分({ /** * コンポーネントプロパティのリスト */ オプション:{ 複数スロット:true } )} このページの使用 <!-- 複数のスロットの使用 --> <!-- 注記: 各スロットに名前を付ける必要があります。コンポーネントオブジェクトのオプションオブジェクトの下にある multipleSolts プロパティを true に設定する必要があります --> <私のスロット> <button slot="slot3">415461</button> <スライダースロット="スロット1" 値="20"></スライダー> <text slot="slot2">ヘヘヘヘ</text> </my-mslot> ミニプログラム コンポーネントのコンポーネント コンストラクターの機能は何ですか?1つのプロパティにより、ユーザーはコンポーネントにデータを渡すことができます プロパティ: タイトル: 文字列、 コンテンツ:{ タイプ: 配列、 値:[1,2.3], オブザーバー:関数(newVal,oldVal){ コンソールログ(新しい値、古い値) } } } 2.dataはいくつかのコンポーネントの初期化データを定義します データ:{ カウンター: 0 } コンポーネント内の関数を定義するために3つのメソッドが使用される 方法:{ 関数foo(){ } } 4つのオプションはコンポーネントの構成オプションを定義します オプション:{ //複数のスロットを使用する必要がある場合はtrueに設定します 複数スロット:true、 // スタイルの分離モードを設定します styleIsolation: "apply-shared", // ページで設定されたスタイル属性はコンポーネントのスタイルに影響します //styleIsolation: "shared" ページで設定されたスタイル属性はコンポーネントのスタイルに影響します} 5 externalClassesは外部から渡される追加のスタイルを定義します 外部クラス:["on","tre"] 6人のオブザーバーがプロパティ/データの変更を監視できます 観察者:{ カウンター: function(newVal){ コンソールログ(新しい値) } } 7 ページのライフサイクルを監視する コンポーネントjsファイル内 ページの存続期間:{ 見せる(){ console.log("監視コンポーネントが配置されているページ") }, 隠れる(){ console.log("監視コンポーネントが配置されているページが非表示の場合") }, サイズ変更(){ console.log("ページサイズの変更を監視する") } } コンポーネントのライフサイクルを監視する 生涯: 作成された(){ console.log("コンポーネントが作成されました") }, 添付(){ console.log("コンポーネントがページに追加されました") }, 準備ができて(){ console.log("コンポーネントがレンダリングされました") }, 移動しました(){ console.log("コンポーネントはノードツリー内の別の場所に移動されました") }, 分離された(){ console.log("コンポーネント") } } ミニプログラムネットワークリクエストonReady: 関数 () { wx.リクエスト({ URL: 'http://httpbin.org/post', メソッド:'post', データ:{ 名前:"王帥", 年齢:19 }, 成功:function(res){ コンソール.log(res) } }) }, いくつかの重要な属性
一般的に、ネットワーク リクエストと wx.request 間の結合を減らすために、Promise メソッドを使用してコールバック結果を取得します。 プロミスラッパーの使用 デフォルトの関数リクエストをエクスポートする(オプション) { 新しい Promise を返します (resolve, reject) => { wx.リクエスト({ url: オプション.url、 メソッド: option.method || 'get', データ: オプション.データ || {}, 成功: 関数 (res) { 解決する }, 失敗: 関数 (res) { 拒否 } }) }) } ページコール onReady: 関数 () { //ミニプログラムネイティブネットワークリクエスト// wx.request({ // URL: 'http://httpbin.org/post', // メソッド:'post', // データ:{ // 名前:"wangshuai", //年齢:19 // }, // 成功:function(res){ // コンソール.log(res) // } // }) リクエスト({url: 'http://httpbin.org/post',method:"post"}).then(res=>{ コンソール.log(res) }).catch(エラー =>{ コンソール.log(エラー) }) }, ミニプログラムでのポップアップウィンドウ表示ページ wxml <button size="mini" bindtap="showToast">showToast</button> <button size="mini" bindtap="showModal">モーダルを表示</button> <button size="mini" bindtap="showLoading">読み込み中を表示</button> <button size="mini" bindtap="showAction">アクションを表示</button> <button size="mini" open-type="share">共有</button> ページ js ファイル ページ({ 表示トースト(){ wx.showToast({ タイトル: 「私はshowToastです」 }) }, 表示モーダル(){ wx.showModal({ タイトル:「削除」、 キャンセルカラー: 'キャンセルカラー', 成功:関数 (パラメータ) { console.log(パラメータ) パラメータをキャンセルする場合{ console.log("削除キャンセルをクリックしました") } } }) }, 読み込み中(){ wx.showLoading({ タイトル: 「待つ」 mask: true //他の操作を防ぐためにマスクを指定します}) タイムアウトを設定します(()=>{ wx.hideLoading({ 成功: (res) => {}, }) },1500) }, 表示アクション(){ wx.showActionSheet({ itemList: ['写真', 'ファイル'], }) } }) ミニプログラムページの共有ミニプログラムを共有する方法は 2 つあります。1 つは共有ボタンをクリックする方法、もう 1 つは右上隅のメニュー オプションをクリックして共有を選択する方法です。 ミニプログラムを共有するときは、onShareAppMessageを通じて共有情報を表示する必要があります。 ページ上の転送ボタン (ボタン コンポーネント open-type="share") または右上隅のメニューの [転送] ボタンをクリックするユーザーの動作を監視し、転送されるコンテンツをカスタマイズします。 注: このイベント ハンドラが定義されている場合にのみ、右上隅のメニューに [転送] ボタンが表示されます。このイベント ハンドラは、カスタム転送コンテンツのオブジェクトを返す必要があります。返されるコンテンツは次のとおりです。 ミニプログラムジャンプについてナビゲータータグ URLを使用したナビゲータージャンプについて。 <navigator url="/pages/home/home">ホームへ移動</navigator> ジャンプ属性open-typeには以下の値があります リダイレクト: 現在のページを閉じて、アプリケーション内のページにジャンプします。しかし、タブバーページにジャンプすることは許可されておらず、戻ることもできません。 switchTab: タブバーページに移動し、タブバー以外のページを閉じます (タブバーで定義する必要があります) 再起動: すべてのページを閉じて特定のページを開きます (特定のページを直接表示し、タブページにジャンプできます) <navigator url="/pages/home/home">ホームへ移動</navigator> <navigator url="/pages/home/home" open-type="redirect">ホームへジャンプ(リダイレクト)</navigator> <navigator url="/pages/home/home" open-type="reLaunch">ホームへジャンプ(再起動)</navigator> <navigator url="/pages/home/home" open-type="switchTab">ホームへジャンプ (switchTab)</navigator> 要約するミニプログラムの基本的な使い方については以上です。ミニプログラムの基本的な使い方についてさらに詳しく知りたい方は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: 複数のドメイン名、ポート、IP仮想ホストに基づくNginx構成
>>: MySQL 8.0.12 のインストールと環境変数の設定チュートリアル (Win10 の場合)
目次特徴利点インストールとコマンド設定ファイルプロキシモードとリバースプロキシ構成フォワードプロキシ...
背景ブラウザの互換性の問題を解決するのは非常に面倒なことです。高度な技術はそれほど必要ありませんが、...
MySQLではisnull()関数をnull値の代わりとして使用することはできません。次のように:ま...
コードをコピーコードは次のとおりです。 <html> <!--混合フレームレイアウ...
この記事では、二次リンク効果を実現するためのReactの具体的なコードを参考までに共有します。具体的...
目次1. プロセス2. コアアーキテクチャ2.1 サーバー層の基本コンポーネントの紹介3. ステート...
序文ミニプログラムを開発する過程では、録音機能を実装し、録音を再生し、録音をサーバーにアップロードす...
目次1. インデックスの基礎知識1.1 インデックスの利点1.2 インデックスの有用性1.3 インデ...
パラメータでのストアドプロシージャの使用IN パラメータは、プロシージャに情報を渡すためにのみ使用さ...
Linux では、すべてがファイルであり (ディレクトリもファイルです)、各ファイルにはユーザーに対...
SQL ページング クエリ:背景会社のシステムには、構成管理用のプラットフォーム、いわゆる CRUD...
目次問題の説明:解決策1解決策2問題の説明:ページ A と B の 2 つがあり、各ページにはget...
では早速、コードをお見せしましょう。具体的なコードは次のとおりです。 #!/bin/bash cd ...
ローカル環境はWindows10+WSL2(Ubuntu)です。サーバーにDockerをインストール...
画像をダウンロード docker プル mysql:5.7 docker pull php:7.2-...