国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
前言
在自定義組件中使用插槽(slot)
單插槽
多插槽
注意
Component的生命周期
首頁 微信小程式 小程式開發(fā) 小程式中Component元件怎麼使用?實用指南分享

小程式中Component元件怎麼使用?實用指南分享

Oct 11, 2021 am 11:00 AM
小程式

小程式中Component元件怎麼使用?以下這篇文章跟大家分享一下小程式自訂元件Component超全實用指南,希望對大家有幫助!

小程式中Component元件怎麼使用?實用指南分享

在小程式中,想要將頁面內(nèi)的功能模組抽像出來,在不同的頁面中重複使用,我們可以使用它的自訂元件,自訂元件可以將複雜的頁面拆分成多個低耦合的模組,這不僅使用起來方便,而且還有助於我們的程式碼維護。 【相關(guān)學(xué)習(xí)推薦:小程式開發(fā)教學(xué)

前言

本文你將收穫

  • ##小程式如何使用自定義元件

  • 自訂元件之間的各種傳值

  • #自訂元件中插槽的使用

  • #排雷,本文的小程式指的是微信小程式(不過其他的小程式思路應(yīng)該差不多)

  • 排雷,本文主要內(nèi)容是自訂元件的各種用法,不是教大家怎麼封裝元件哈!

基礎(chǔ)準備(可忽略)

新增資料夾

首先在根目錄下建立一個專門放自訂元件的資料夾(資料夾名稱任意,位置也任意)

小程式中Component元件怎麼使用?實用指南分享

新新進程式檔案

然後在小程式編輯器裡,右鍵,新Component

小程式中Component元件怎麼使用?實用指南分享

為什麼要刻意說這一步呢?

不知道有沒有小夥伴們和我一樣一直只把小程式開發(fā)工具當預(yù)覽工具用,然後開發(fā)是用其他編輯器的。

小程式中Component元件怎麼使用?實用指南分享

後面發(fā)現(xiàn)直接在小程式新建Component或Page,它會一口氣把四個檔案都建好,內(nèi)容範本也會填好,所以現(xiàn)在開發(fā)者工具除了預(yù)覽,我還用它新建檔案。

小程式中Component元件怎麼使用?實用指南分享

範例背景說明

我們後面就以類似下圖中的模組分割標題為例寫一個簡單的元件範例(只是瞎舉例)

小程式中Component元件怎麼使用?實用指南分享

怎麼會引入自訂元件?

創(chuàng)建不多說,如以上【新Component檔案】即可,如果是自己手動創(chuàng)建,別忘了在json檔案宣告(小程式開發(fā)工具新建的預(yù)設(shè)就有)

{
  "component": true
}

引入元件方法

小程式中Component元件怎麼使用?實用指南分享

在頁面的

json 檔案中進行引用宣告

<!-- 引用組件的json文件 -->
{
  "usingComponents": {
    "x-title": "/components/title/title"
  }
}

在頁面的

wxml 中像使用基礎(chǔ)元件一樣使用自訂元件(名字和宣告的保持一致)

<!-- 引用組件的wxml文件 -->
<x-title></x-title>

怎麼傳值?

父元件給子元件傳值

可以看到我們上面把標題的內(nèi)容寫死了,但是實際上使用我們肯定是需要根據(jù)不同的模組,傳入不同的標題內(nèi)容,這樣我們就需要使用到父子之間的傳值了。

父級給子級傳值

<!-- 父級wxml -->
<x-title titleText="全部訂單"></x-title>

<!-- 如果父級的值是一個變量則 -->
<x-title titleText="{{currentTitle}}"></x-title>

子級接收父級傳過來的值

<!-- 子級js -->
properties: {
        titleText:{
            type:String,
            value:&#39;其他&#39;
        }
    },

小程式中Component元件怎麼使用?實用指南分享

子組件給父組件傳值

把元件稍微修改一下,新增了詳情操作按鈕,目前透過循環(huán)已得出多個模組,現(xiàn)在想在點擊詳情的時候,子級把目前模組的id傳給父級。

小程式中Component元件怎麼使用?實用指南分享

子元件向父元件傳參

<!-- 子級wxml -->
 <view class="title-oper" bindtap="gotoDetail">詳情</view>
<!-- 子級js -->
 gotoDetail(){
    this.triggerEvent(&#39;gotoDetail&#39;,this.data.titleId)
 }

小程式中Component元件怎麼使用?實用指南分享

父元件接收子元件的參數(shù)

<!-- 父級 wxml -->
<x-title titleText="{{item.title}}"
             titleId="{{item.id}}"
             bind:gotoDetail="gotoDetail"></x-title>
<!-- 父級 js -->
 //通過e.detail獲取子組件傳過來的參數(shù)
gotoDetail(e){ 
    const id = e.detail 
    console.log(&#39;從子組件接收到的id&#39;,id)
  }

小程式中Component元件怎麼使用?實用指南分享

父級呼叫子元件的方法

子元件定義了一個方法

<!-- 子級 js -->
childMethod(){
    console.log(&#39;我是子組件的方法&#39;)
 },

父層級先給子元件一個id

<!-- 父級 wxml -->
<x-title id="titleCom"></x-title>

<van-button type="primary" bindtap="triggerChildMethod">調(diào)用子組件方法</van-button>

在js頁面的生命週期中取得元件,然後存到我們自訂的變數(shù)titleCom中,接著便可直接呼叫子元件裡面的方法了

<!-- 父級 js -->
 onReady(){
    this.titleCom = this.selectComponent("#titleCom");
  },
  
triggerChildMethod(){
    this.titleCom.childMethod();
  }

1小程式中Component元件怎麼使用?實用指南分享

如果this.selectComponent()返回為null

1、檢查wxml定義的id和js使用的是否一致;

2、自定義組件是否渲染,例如你使用了wx:if,導(dǎo)致組件還未渲染

傳值官網(wǎng)相關(guān)文檔:

https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/events.html

在自定義組件中使用插槽(slot)

我們上面在自定義組件中加了【詳情】查看的操作按鈕,但是有的地方我們可能并不想用文字,想改成圖標或者按鈕,當某處放置的節(jié)點內(nèi)容不確定時,我們就可以使用插槽來處理。

插槽就相當于在子組件中放一個占位符,這樣父組件就可以向子組件填充html了。

1小程式中Component元件怎麼使用?實用指南分享

單插槽

1小程式中Component元件怎麼使用?實用指南分享

在子組件加入插槽

<!-- 子級 wxml -->
 <slot></slot>

父級即可在組件內(nèi)任意填充內(nèi)容,比如插入一個圖標(如果子級沒有加slot,及時填充了html也不會被渲染)

<!-- 父級 wxml -->
 <x-title>
 	<view class="oper-wrap">
            <van-icon name="arrow" />
    </view>
 </x-title>

1小程式中Component元件怎麼使用?實用指南分享

多插槽

1小程式中Component元件怎麼使用?實用指南分享

先在子組件的js開啟一下多slot支持

 <!-- 子級 js -->
 options: {
        multipleSlots: true // 在組件定義時的選項中啟用多slot支持
    },

子組件加上插槽需要給插槽加上名字

 <!-- 子級 wxml --> 
 <slot name="icon"></slot>
 
  <slot name="oper"></slot>

父級使用

 <!-- 父級 wxml --> 
 <view class="icon-wrap" slot="icon">
    <van-icon name="orders-o" size="24"/>
 </view>

<view class="oper-wrap"  slot="oper">
   <van-button type="primary" custom-style="{{customStyle}}">更多</van-button>
</view>

1小程式中Component元件怎麼使用?實用指南分享

注意

問:為什么加了插槽,卻沒有反應(yīng)?

1小程式中Component元件怎麼使用?實用指南分享

雖然我只在【子組件】加了1個插槽,但是因為加上了名字,所以同樣需要在【子組件】的js里開啟多插槽

 options: {
        multipleSlots: true // 在組件定義時的選項中啟用多slot支持
    },

插槽官網(wǎng)文檔:

https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html

Component的生命周期

Component({
  lifetimes: {
    attached: function() {
      // 在組件實例進入頁面節(jié)點樹時執(zhí)行
    },
    detached: function() {
      // 在組件實例被從頁面節(jié)點樹移除時執(zhí)行
    },
  },
  //組件所在頁面的生命周期
   pageLifetimes: {
    show: function() {
      // 頁面被展示
    },
    hide: function() {
      // 頁面被隱藏
    },
    resize: function(size) {
      // 頁面尺寸變化
    }
  }
  // 以下是舊式的定義方式,可以保持對 <2.2.3 版本基礎(chǔ)庫的兼容
  attached: function() {
    // 在組件實例進入頁面節(jié)點樹時執(zhí)行
  },
  detached: function() {
    // 在組件實例被從頁面節(jié)點樹移除時執(zhí)行
  },
  // ...
})

生命周期官網(wǎng):

https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/lifetimes.html

更多編程相關(guān)知識,請訪問:編程視頻??!

以上是小程式中Component元件怎麼使用?實用指南分享的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用Python開發(fā)微信小程式 使用Python開發(fā)微信小程式 Jun 17, 2023 pm 06:34 PM

隨著行動互聯(lián)網(wǎng)技術(shù)和智慧型手機的普及,微信成為了人們生活中不可或缺的一個應(yīng)用。而微信小程式則讓人們可以在不需要下載安裝應(yīng)用程式的情況下,直接使用小程式來解決一些簡單的需求。本文將介紹如何使用Python來開發(fā)微信小程式。一、準備工作在使用Python開發(fā)微信小程式之前,需要先安裝相關(guān)的Python函式庫。這裡推薦使用wxpy和itchat這兩個函式庫。 wxpy是一個微信機器

實作微信小程式中的卡片翻轉(zhuǎn)特效 實作微信小程式中的卡片翻轉(zhuǎn)特效 Nov 21, 2023 am 10:55 AM

實作微信小程式中的卡片翻轉(zhuǎn)特效在微信小程式中,實現(xiàn)卡片翻轉(zhuǎn)特效是一種常見的動畫效果,可以提升使用者體驗和介面互動的吸引力。以下將具體介紹如何在微信小程式中實現(xiàn)卡片翻轉(zhuǎn)的特效,並提供相關(guān)程式碼範例。首先,需要在小程式的頁面佈局檔案中定義兩個卡片元素,一個用於顯示正面內(nèi)容,一個用於顯示背面內(nèi)容,具體範例程式碼如下:&lt;!--index.wxml--&gt;&l

支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 Oct 31, 2023 pm 09:25 PM

本站10月31日消息,今年5月27日,螞蟻集團宣布啟動“漢字拾光計劃”,最近又迎來新進展:支付寶上線“漢字拾光-生僻字”小程序,用於向社會徵集生僻字,補充生僻字庫,同時提供不同的生僻字輸入體驗,以幫助完善支付寶內(nèi)的生僻字輸入方法。目前,用戶搜尋「漢字拾光」、「生僻字」等關(guān)鍵字就可以進入「生僻字」小程式。在小程式裡,使用者可以提交尚未被系統(tǒng)辨識輸入的生僻字圖片,支付寶工程師確認後,將會對字庫進行補錄入。本站注意到,使用者也可以在小程式體驗最新的拆字輸入法,這項輸入法針對讀音不明確的生僻字設(shè)計。用戶拆

小程式能用react嗎 小程式能用react嗎 Dec 29, 2022 am 11:06 AM

小程式能用react,其使用方法:1、基於「react-reconciler」實作一個渲染器,產(chǎn)生一個DSL;2、建立一個小程式元件,去解析和渲染DSL;3、安裝npm,並執(zhí)行開發(fā)者工具中的建構(gòu)npm;4、在自己的頁面中引入包,再利用api即可完成開發(fā)。

uniapp如何實現(xiàn)小程式和H5的快速轉(zhuǎn)換 uniapp如何實現(xiàn)小程式和H5的快速轉(zhuǎn)換 Oct 20, 2023 pm 02:12 PM

uniapp如何實現(xiàn)小程式和H5的快速轉(zhuǎn)換,需要具體程式碼範例近年來,隨著行動網(wǎng)路的發(fā)展和智慧型手機的普及,小程式和H5成為了不可或缺的應(yīng)用形式。而uniapp作為一個跨平臺的開發(fā)框架,可以在一套程式碼的基礎(chǔ)上,快速實現(xiàn)小程式和H5的轉(zhuǎn)換,大大提高了開發(fā)效率。本文將介紹uniapp如何實現(xiàn)小程式和H5的快速轉(zhuǎn)換,並給出具體的程式碼範例。一、uniapp簡介unia

教你如何在小程式中用公眾號範本訊息(附詳細想法) 教你如何在小程式中用公眾號範本訊息(附詳細想法) Nov 04, 2022 pm 04:53 PM

這篇文章給大家?guī)砹岁P(guān)於微信小程式的相關(guān)問題,其中主要介紹瞭如何在小程式中用公眾號範本訊息,下面一起來看一下,希望對大家有幫助。

用Python編寫簡單的聊天程式教程 用Python編寫簡單的聊天程式教程 May 08, 2023 pm 06:37 PM

實現(xiàn)思路x01服務(wù)端的建立首先,在服務(wù)端,使用socket進行訊息的接受,每接受一個socket的請求,就開啟一個新的線程來管理訊息的分發(fā)與接受,同時,又存在一個handler來管理所有的線程,從而實現(xiàn)對聊天室的各種功能的處理x02客戶端的建立客戶端的建立就要比服務(wù)端簡單多了,客戶端的作用只是對消息的發(fā)送以及接受,以及按照特定的規(guī)則去輸入特定的字符從而實現(xiàn)不同的功能的使用,因此,在客戶端這裡,只需要去使用兩個線程,一個是專門用於接受消息,一個是專門用於發(fā)送消息的至於為什麼不用一個呢,那是因為,只

PHP與小程式的地理位置定位與地圖顯示 PHP與小程式的地理位置定位與地圖顯示 Jul 04, 2023 pm 04:01 PM

PHP與小程式的地理位置定位與地圖顯示地理位置定位與地圖顯示在現(xiàn)代科技中已經(jīng)成為了必備的功能之一。隨著行動裝置的普及,人們對於定位和地圖顯示的需求也越來越高。在開發(fā)過程中,PHP和小程式是常見的兩種技術(shù)選擇。本文將為大家介紹PHP與小程式中的地理位置定位與地圖顯示的實作方法,並附上對應(yīng)的程式碼範例。一、PHP中的地理位置定位在PHP中,我們可以使用第三方地理位

See all articles