ミニ プログラム内のスロットと親子コンポーネント間で通信するいくつかの方法の簡単な分析
この記事では、WeChat アプレットのスロットと、親子コンポーネント通信のいくつかの方法を紹介します。お役に立てば幸いです。
今日は、ミニ プログラム内のスロットと親子コンポーネント間の通信を見て、vue との違いを確認します。 [関連する学習の推奨事項: 小さなプログラム開発チュートリアル ]
1. スロット
1. スロットとは何ですか?
カスタム コンポーネントの wxml
構造では、コンポーネント ユーザーが提供した wxml## をホストするノード (スロット) を提供できます。 # 構造
サブコンポーネントが穴を掘り、親コンポーネントがその穴を埋めるプロセスです。穴 ###。親コンポーネントが子コンポーネントを使用する場合、子コンポーネント内のレイアウト表示が決定されます。
- 親コンポーネントは、穴を掘って穴を埋めます。コンポーネント タグの真ん中のコンテンツ
2. 単一スロットアプレットでは、デフォルトでは 1 つのみが許可されます。各カスタム コンポーネント
slot プレースホルダー、この数の制限は単一スロットと呼ばれます
- wxml# には
- が 1 つだけ存在できます## slot
複数の
slot を使用する必要がある場合は、コンポーネント - js
で有効化
を宣言できます。注
: small 現在、プログラムにはデフォルト スロットと複数のスロットのみが存在します。スコープ スロットは現時点ではサポートされていません。 - コードは次のとおりです (例):
<!-- 组件的封装者 --> <view class="wrapper"> <view>这里是组件的内部节点</view> <!-- 对于不确定的内容,可以使用<slot>进行占位,具体的内容由组件的使用者决定 --> <slot></slot> </view> <!-- 组件的使用者 --> <component-tag-name> <!-- 这部分内容将被放置在组件<slot>的位置上 --> <view>这里是插入到组件slot的内容</view> </component-tag-name>
アプレットのカスタム コンポーネントで、複数のスロットを使用する必要がある場合は、コンポーネントの .js
ファイルコードは次のとおりです (例):<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>Component({
options: {
multipleSlots: true // 在组件定义时的选项中启用多 slot 支持
},
properties: { /* ... */ },
methods: { /* ... */ }
})</pre><div class="contentsignin">ログイン後にコピー</div></div>
4. 複数のスロットを定義します
#コンポーネントの .wxml に含めることができます。 で複数のタグを使用して、異なる name
コードは次のとおりです (例):
<!-- 组件模板 --> <view class="wrapper"> <!-- name 为 before 的第一个 slot 插槽 --> <slot name="before"></slot> <view>这是一段固定的文本内容</view> <!-- name 为 after 的第二个 slot 插槽 --> <slot name="after"></slot> </view>
2. 父と子コンポーネントの通信1. 親子コンポーネント通信
##プロパティ バインディング 子コンポーネントの指定されたプロパティにデータを設定するために親コンポーネントで使用されます。#JSON 互換性のあるデータのみを設定できます (データのみを渡すことができ、メソッドは渡すことはできません)
- #イベントバインディング 確かに
子コンポーネントが親コンポーネントにデータを渡すために使用されます。任意のデータ (配列やメソッドを含む) を渡すことができます
this.selectComponent()#コンポーネント インスタンスを取得します 親コンポーネントは、
を通じて子コンポーネントのインスタンス オブジェクトを取得することもできるため、子コンポーネントの任意のデータとメソッドに直接アクセスできます 2. 属性バインディング
コードは次のとおりです (例) :// 父组件的 data 节点
data: {
count: 0
}
// 父组件的wxml 结构
<my-test3 count="{{count}}"></my-test3>
<view>~~</view>
<view>父组件中,count值为:{{count}}</view>
- サブコンポーネントは、プロパティ ノードで対応するプロパティを宣言し、使用します
コードは次のとおりです (例):
// 子组件的 properties 节点 properties: { count: Number } // 子组件的 wxml 结构 <text>子组件中,count值为:{{count}}</text>
- 3. イベント バインディングのコア実装手順
イベント バインディングは、子から親への送信 値、任意のタイプのデータを渡すことができます。使用手順は次のとおりです。
親コンポーネントのjs
で、次の形式で子コンポーネントに渡される関数を定義します。カスタム イベント 親コンポーネント- の
- wxml
で、手順 1 で定義した関数参照を子コンポーネント
## の形式で渡します。カスタム イベント#subcomponent
の js - で、
this.triggerEvent('カスタム イベント名', {/* パラメータ オブジェクト*/})
を呼び出すと、データは次のようになります。親コンポーネントに送信親コンポーネントの
js - では、子コンポーネントによって渡されるデータは
e.detail
を通じて取得されます。
4. イベント バインディングのコア実装コード ステップ 1: 親コンポーネントの
js
コードは次のとおりです (例):// 父组件中定义 syncCount 方法
// 将来,这个方法会被传递给子组件,供子组件进行调用
syncCount() {
console.log('syncCount')
},
- wxml
- で、手順 1 で定義した関数参照をカスタム イベントの形式でサブコンポーネントに渡します
<!-- 使用 bind: 自定义事件名称(推荐:结构清晰) --> <my-test3 count="{{count}}" bind:sync="syncCount"></my-test3> <!-- 或在 bind 后面直接协商自定义事件名称 --> <my-test3 count="{{count}}" bindsync="syncCount"></my-test3>
- subcomponent
- の
js
で、 this.triggerEvent('カスタム イベント名', {/*パラメータオブジェクト*/})
- コードは次のとおりです(例):
// 子组件的wxml结构 <text>子组件中,count值为:{{count}}</text> <button type="primary" bindtap="addCount">+1</button> // 子组件中的 js 代码 methods: { addCount() { this.setData({ count: this.properties.count + 1 }) this.triggerEvent('sync', {value: this.properties.count}) } }
ログイン後にコピー- 步骤 4:在父组件的
js
中,通过e.detail
获取到子组件传递过来的数据
代码如下(示例):
syncCount(e) { // console.log(e.detail.value) this.setData({ count: e.detail.value }) }
ログイン後にコピー5. 使用 selectComponent 获取组件实例
父组件如何获得子组件实例?
可在父组件里调用
this.selectComponent("id或class选择器")
,获取子组件的实例对象,从而直接访问子组件的任意数据和方法。调用时需要传入一个选择器
,例如 this.selectComponent(".my-component")代码如下(示例):
// wxml结构 <my-test3 count="{{count}}" bind:sync="syncCount" class="customA" id="cA"></my-test3> <button bindtap="getChild">获取子组件实例</button> getChild() { // 按钮的tap事件处理函数 // 切记下面参数不能传递标签选择器 'my-test3',不然返回的是 null const child = this.selectComponent('.customA') // 也可以传递 id 选择器 #cA child.setData({ count: child.properties.count + 1 }) // 调用子组件的 setData 方法 child.addCount() // 调用子组件的 addCount 方法 }
ログイン後にコピー更多编程相关知识,请访问:编程入门!!
- 步骤 4:在父组件的
以上がミニ プログラム内のスロットと親子コンポーネント間で通信するいくつかの方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









ヒントを提供してくれた中国南部のネチズン Qing Qiechensi、HH_KK、石原さとみ、Wu Yanzu に感謝します。 9月2日のニュースによると、最近「iPhone 16はWeChatをサポートしないかもしれない」という噂があるが、これに対し中国のApple公式ホットラインに電話したシェル・ファイナンスの記者は、iOSシステムやAppleデバイスは引き続きサポートできると回答したという。 WeChat と WeChat を使用する Apple App Store に引き続き掲載およびダウンロードできるかどうかの問題は、今後の状況を決定するために Apple と Tencent 間のコミュニケーションと協議が必要です。ソフトウェア App Store と WeChat の問題の説明 ソフトウェア App Store の技術コンサルタントは、ソフトウェアを Apple Store に掲載するには開発者が料金を支払う必要がある可能性があると指摘しました。一定のダウンロード数に達すると、Apple はそれ以降のダウンロードに対応する料金を支払う必要があります。 AppleはTencentと積極的にコミュニケーションをとっており、

DeepSeek:強力なAI画像生成ツール! DeepSeek自体は画像生成ツールではありませんが、その強力なコアテクノロジーは、多くのAI塗装ツールを根本的にサポートしています。 DeepSeekを使用して画像を間接的に生成する方法を知りたいですか?読み続けてください! DeepSeekベースのAIツールで画像を生成します。次の手順では、これらのツールを使用するように導きます。AIペイントツールの起動:DeepSeekベースのAIペイントツールを検索して開きます(たとえば、「Simple AI」を検索します)。描画モードを選択します。「AI図面」または同様の関数を選択し、「アニメアバター」、「ランドスケープ」などのニーズに応じて画像タイプを選択します。

WeChat が iPhone 16 をサポートするという噂は誤りであることが判明しました。手がかりを提供してくれたネチズン Xi Chuang Jiu Shi と HH_KK に感謝します。 9 月 2 日のニュースによると、今日 WeChat が iPhone 16 をサポートしない可能性があるという噂があります。iPhone が iOS 18.2 システムにアップグレードされると、WeChat は使用できなくなります。 『デイリー経済ニュース』によると、この噂はデマであることが関係者の話でわかったという。 Apple の回答: Shell Finance によると、中国の Apple の技術コンサルタントは、WeChat が iOS システムまたは Apple デバイスで引き続き使用できるかどうか、また WeChat が引き続き Apple App Store に掲載されダウンロードできるかどうかという問題は解決する必要があると回答しました。 Apple と Tencent の間で解決されることは、コミュニケーションと話し合いを通じてのみ、将来の状況を決定することができます。現在、Apple は Tencent と積極的に連絡をとり、Tencent が今後も継続するかどうかを確認しています。

2013年に設立された主要な暗号通貨取引プラットフォームであるGate.ioは、中国のユーザーに完全な公式のウェブサイトを提供します。このウェブサイトは、スポット取引、先物取引、貸付など、幅広いサービスを提供し、中国のインターフェース、リッチリソース、コミュニティサポートなどの特別な機能を提供します。

OKXトレーディングプラットフォームは、取引手数料、引き出し料金、資金調達料金など、さまざまな料金を提供しています。スポットトランザクションの場合、取引手数料はトランザクションのボリュームとVIPレベルによって異なり、「マーケットメーカーモデル」を採用します。つまり、市場はトランザクションごとに低いハンドリング料金を請求します。さらに、OKXは、通貨標準契約、USDT契約、配送契約など、さまざまな先物契約も提供しており、各契約の料金構造も異なります。

Gate.io(Sesame Open Door)は、世界をリードする暗号通貨取引プラットフォームです。このチュートリアルでは、アカウントの登録とログイン、KYC認定、FIAT通貨とデジタル通貨充電、取引ペアの選択、制限/市場取引注文、注文およびトランザクションレコードの表示などの手順を把握しているため、暗号通貨取引のためのgate.ioプラットフォームを迅速に開始できます。 初心者であろうとベテランであろうと、このチュートリアルから利益を得て、gate.ioの取引スキルを簡単に習得できます。

Gateio Exchangeアプリは、公式のサードパーティのアプリケーション市場、フォーラムコミュニティ、その他のチャネルをカバーする古いバージョン用のチャネルをダウンロードします。また、古いバージョンを簡単に取得し、新しいバージョンやデバイスの互換性を使用する際の不快感を解決するのに役立ちます。

この記事では、中国のOUYI OKXアプリの安全なダウンロードに関する詳細なガイドを提供します。国内のアプリストアの制限により、ユーザーはOUYI OKXの公式Webサイトからアプリをダウンロードするか、公式Webサイトが提供するQRコードを使用してスキャンおよびダウンロードすることをお勧めします。ダウンロードプロセス中に、公式Webサイトのアドレスを確認し、アプリケーションの許可を確認し、インストール後にセキュリティスキャンを実行し、2要素の検証を有効にしてください。 使用中は、地方の法律や規制を遵守し、安全なネットワーク環境を使用し、アカウントのセキュリティを保護し、詐欺に対して警戒し、合理的に投資してください。 この記事は参照のみであり、投資のアドバイスを構成していません。
