亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Table of Contents
1. Slot
2. Father and son Component communication
Home WeChat Applet Mini Program Development A brief analysis of several ways of communicating between slots and parent-child components in mini programs

A brief analysis of several ways of communicating between slots and parent-child components in mini programs

Nov 02, 2021 am 09:57 AM
Applets WeChat slot Parent-child component communication

This article will introduce to you the slots in the WeChat applet and several methods of parent-child component communication. I hope it will be helpful to you!

A brief analysis of several ways of communicating between slots and parent-child components in mini programs

Today we will take a look at the communication between slots and parent-child components in the mini program, and see what the differences are with vue? [Related learning recommendations: 小program development tutorial]

1. Slot

1. What is a slot ?

In the wxml structure of a custom component, a node (slot) can be provided to host the wxml## provided by the component user. # Structure

A brief analysis of several ways of communicating between slots and parent-child components in mini programs

#In fact, the slot, to put it more simply, is the process of

the sub-component digging the hole and the parent component filling the hole . When the parent component uses the child component, it determines some layout display inside the child component

    The child component fills the hole by digging holes
  • The parent component fills the hole through the content in the middle of the component tag

2. Single slot

In the applet, by default only one is allowed in each custom component

slot Placeholder, this limit on the number is called a single slot

    By default, there can only be one
  • in a component's wxml slot
  • When you need to use multiple
  • slot, you can declare the enablement in the component
  • js
  • Note: small Currently, there are only default slots and multiple slots in the program. Scope slots are not supported at the moment.
The code is as follows (example):

<!-- 組件的封裝者 -->
<view class="wrapper">
  <view>這里是組件的內部節(jié)點</view>
  <!-- 對于不確定的內容,可以使用<slot>進行占位,具體的內容由組件的使用者決定 -->
  <slot></slot>
</view>

<!-- 組件的使用者 -->
<component-tag-name>
  <!-- 這部分內容將被放置在組件<slot>的位置上 -->
  <view>這里是插入到組件slot的內容</view>
</component-tag-name>

3. Start multiple slots

In the custom component of the applet, when you need to use multiple slots, you can

in the .js file of the component

The code is as follows (example):

Component({
  options: {
    multipleSlots: true // 在組件定義時的選項中啟用多 slot 支持
  },
  properties: { /* ... */ },
  methods: { /* ... */ }
})

4. Define multiple slots

Can be in the component's

.wxml Use multiple tags in to distinguish different slots with different name

The code is as follows (example):

<!-- 組件模板 -->
<view class="wrapper">
  <!-- name 為 before 的第一個 slot 插槽 -->
  <slot name="before"></slot>
  <view>這是一段固定的文本內容</view>
  <!-- name 為 after 的第二個 slot 插槽 -->
  <slot name="after"></slot>
</view>

2. Father and son Component communication

1. Parent-child component communication

  • Property binding Used for parent components to set data to specified properties of child components. Only

    JSON compatible data can be set (only data can be passed, methods cannot be passed)

  • Event binding Certainly Used for child components to pass data to parent components. You can pass any data (including arrays and methods)

  • Get the component instance The parent component can also obtain the child component instance object through

    this.selectComponent() so that it can directly access any data and methods of the child component

2. Attribute binding

    #Transfer data Property binding is used to transfer values ????from parent to child, and can only pass common types of data. Methods cannot be passed to child components.
The code is as follows (example):

// 父組件的 data 節(jié)點
data: {
  count: 0
}

// 父組件的wxml 結構
<my-test3 count="{{count}}"></my-test3>
<view>~~</view>
<view>父組件中,count值為:{{count}}</view>

    Accept data
The subcomponent declares the corresponding properties in the properties node and uses The code is as follows (example):

// 子組件的 properties 節(jié)點
properties: {
  count: Number
}

// 子組件的 wxml 結構
<text>子組件中,count值為:{{count}}</text>

3. The core implementation steps of event binding

Event binding is used to realize the transmission from child to parent Value, any type of data can be passed. The usage steps are as follows:

    In
  • js of parent component, define a function, which will be passed to the child component in the form of a custom event
  • In
  • wxml of the parent component, pass the function reference defined in step 1 to the child component## in the form of a custom event #In
  • js
  • of subcomponent, by calling this.triggerEvent('custom event name', {/* parameter object*/}), Data is sent to the parent componentIn the
  • js
  • of the parent component, the data passed by the child component is obtained through e.detail

4. The core implementation code of event binding

Step 1: In the
    js
  • of the parent component, define a function , this function will be passed to the child component in the form of a custom event
  • The code is as follows (example):
// 父組件中定義 syncCount 方法
// 將來,這個方法會被傳遞給子組件,供子組件進行調用
syncCount() {
  console.log(&#39;syncCount&#39;)
},

Step 2: In the parent component's
    In wxml
  • , pass the function reference defined in step 1 to the sub-component in the form of a custom event
  • The code is as follows (example):
<!-- 使用 bind: 自定義事件名稱(推薦:結構清晰) -->
<my-test3 count="{{count}}" bind:sync="syncCount"></my-test3>
<!-- 或在 bind 后面直接協(xié)商自定義事件名稱 -->
<my-test3 count="{{count}}" bindsync="syncCount"></my-test3>

Step 3: In
    js
  • of subcomponent, by calling this.triggerEvent('custom event name', {/* parameter object*/}), send data to the parent component
  • The code is as follows (example):
// 子組件的wxml結構
<text>子組件中,count值為:{{count}}</text>
<button type="primary" bindtap="addCount">+1</button>

// 子組件中的 js 代碼
methods: {
  addCount() {
    this.setData({
      count: this.properties.count + 1
    })
    this.triggerEvent(&#39;sync&#39;, {value: this.properties.count})
  }
}
  • 步驟 4:在父組件的 js 中,通過 e.detail 獲取到子組件傳遞過來的數(shù)據(jù)

代碼如下(示例):

syncCount(e) {
  // console.log(e.detail.value)
  this.setData({
    count: e.detail.value
  })
}

5. 使用 selectComponent 獲取組件實例

父組件如何獲得子組件實例?

可在父組件里調用 this.selectComponent("id或class選擇器"),獲取子組件的實例對象,從而直接訪問子組件的任意數(shù)據(jù)和方法。調用時需要傳入一個選擇器,例如 this.selectComponent(".my-component")

代碼如下(示例):

// wxml結構
<my-test3 count="{{count}}" bind:sync="syncCount" class="customA" id="cA"></my-test3>
<button bindtap="getChild">獲取子組件實例</button>

getChild() { // 按鈕的tap事件處理函數(shù)
  // 切記下面參數(shù)不能傳遞標簽選擇器 &#39;my-test3&#39;,不然返回的是 null
  const child = this.selectComponent(&#39;.customA&#39;) // 也可以傳遞 id 選擇器 #cA
  child.setData({ count: child.properties.count + 1 }) // 調用子組件的 setData 方法
  child.addCount() // 調用子組件的 addCount 方法 
}

更多編程相關知識,請訪問:編程入門??!

The above is the detailed content of A brief analysis of several ways of communicating between slots and parent-child components in mini programs. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

TikTok web version entrance login link address https TikTok web version entrance website free TikTok web version entrance login link address https TikTok web version entrance website free May 22, 2025 pm 04:24 PM

The login portal for the Douyin web version is https://www.douyin.com/. The login steps include: 1. Open the browser; 2. Enter the URL https://www.douyin.com/; 3. Click the "Login" button and select the login method; 4. Enter the account password; 5. Complete login. The web version provides functions such as browsing, searching, interaction, uploading videos and personal homepage management, and has advantages such as large-screen experience, multi-tasking, convenient account management and data statistics.

Are these C2C transactions in Binance risky? Are these C2C transactions in Binance risky? Apr 30, 2025 pm 06:54 PM

Binance C2C transactions allow users to buy and sell cryptocurrencies directly, and pay attention to the risks of counterparty, payment and price fluctuations. Choosing high-credit users and secure payment methods can reduce risks.

Copy comics (official website entrance)_Copy comics (nba) genuine online reading portal Copy comics (official website entrance)_Copy comics (nba) genuine online reading portal Jun 05, 2025 pm 04:12 PM

Copying comics is undoubtedly a treasure that cannot be missed. Here you can find basketball comics in various styles, from passionate and inspiring competitive stories to relaxed and humorous daily comedy. Whether you want to relive the classics or discover new works, copying comics can meet your needs. Through the authentic online reading portal provided by copy comics, you will bid farewell to the trouble of pirated resources, enjoy a high-definition and smooth reading experience, and can support your favorite comic authors and contribute to the development of authentic comics.

Which is better, uc browser or qq browser? In-depth comparison and evaluation of uc and qq browsers Which is better, uc browser or qq browser? In-depth comparison and evaluation of uc and qq browsers May 22, 2025 pm 08:33 PM

Choosing UC browser or QQ browser depends on your needs: 1. UC browser is suitable for users who pursue fast loading and rich entertainment functions; 2. QQ browser is suitable for users who need stability and seamless connection with Tencent products.

Top 10 AI writing software rankings Recommended Which AI writing software is free Top 10 AI writing software rankings Recommended Which AI writing software is free Jun 04, 2025 pm 03:27 PM

Combining the latest industry trends and multi-dimensional evaluation data in 2025, the following are the top ten comprehensive AI writing software recommendations, covering mainstream scenarios such as general creation, academic research, and commercial marketing, while taking into account Chinese optimization and localization services:

Watch the official page of NIS comics online for free comics. The free entry website of NIS comics login page Watch the official page of NIS comics online for free comics. The free entry website of NIS comics login page Jun 12, 2025 pm 08:18 PM

Nice Comics, an immersive reading experience platform dedicated to creating for comic lovers, brings together a large number of high-quality comic resources at home and abroad. It is not only a comic reading platform, but also a community that connects comic artists and readers and shares comic culture. Through simple and intuitive interface design and powerful search functions, NES Comics allows you to easily find your favorite works and enjoy a smooth and comfortable reading experience. Say goodbye to the long waiting and tedious operations, enter the world of Nice comics immediately and start your comic journey!

Frog Man Online Viewing Entrance Man Frog Man (Web Page Entrance) Watch Online Frog Man Online Viewing Entrance Man Frog Man (Web Page Entrance) Watch Online Jun 12, 2025 pm 08:06 PM

Frogman Comics has become the first choice for many comic lovers with its rich and diverse comic resources and convenient and smooth online reading experience. It is like a vibrant pond, with fresh and interesting stories constantly emerging, waiting for you to discover and explore. Frog Man comics cover a variety of subjects, from passionate adventures to sweet love, from fantasy and science fiction to suspense reasoning, no matter which genre you like, you can find your favorite works here. Its simple and intuitive interface design allows you to easily get started, quickly find the comics you want to read, and immerse yourself in the exciting comic world.

Baozi Comics (Entrance)_ Baozi Comics (New Entrance) 2025 Baozi Comics (Entrance)_ Baozi Comics (New Entrance) 2025 Jun 05, 2025 pm 04:18 PM

Here, you can enjoy the vast ocean of comics and explore works of various themes and styles, from passionate young man comics to delicate and moving girl comics, from suspenseful and brain-burning mystery comics to relaxed and funny daily comics, there is everything, and there is always one that can touch your heartstrings. We not only have a large amount of genuine comic resources, but also constantly introduce and update the latest works to ensure that you can read your favorite comics as soon as possible.

See all articles