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

目次
##2.1. コンポーネントのスタイルの分離
3、數(shù)據(jù)、方法和屬性
4、數(shù)據(jù)監(jiān)聽器
5、純數(shù)據(jù)字段
6、組件的生命周期
7、插槽
8、父子組件之間的通信
9、behaviors
10、使用 npm 包
11、全局?jǐn)?shù)據(jù)共享
ホームページ WeChat アプレット ミニプログラム開発 WeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめ

WeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめ

Oct 13, 2022 pm 02:11 PM
WeChat アプレット

この記事では、WeChat ミニ プログラム に関する関連問題を紹介します。主に、カスタム コンポーネント、スタイル分離、データ、メソッド、プロパティなどの基本的なコンテンツを紹介します。見てみましょう。皆様のお役に立てれば幸いです。

WeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめ

#【関連する學(xué)習(xí)の推奨事項(xiàng):

小さなプログラム學(xué)習(xí)チュートリアル

1. カスタム コンポーネント

#1.1. コンポーネントの作成

    プロジェクトのルート ディレクトリで右クリックし、コンポーネントを作成し、テスト フォルダーを作成します
  • 新しく作成したコンポーネント -> テスト フォルダーで、マウスを右クリックして [新しいコンポーネント] をクリックします
  • コンポーネントの名前を入力し、Enter キーを押します。コンポーネントに対応するファイルが自動(dòng)的に生成されます。サフィックスは .js、.json、.wxml、および .wxss

1.2 です。參照コンポーネント

  • ローカル?yún)⒄? コンポーネントは現(xiàn)在參照されているページ內(nèi)でのみ使用できます

  • グローバル?yún)⒄? コンポーネントはそれぞれのページで使用できますミニ プログラム ページ

1.3. ローカル?yún)⒄榨偿螗荸`ネント

.json 設(shè)定ファイルでコンポーネントを參照する方法このページはローカル?yún)⒄栅群簸肖欷蓼?。サンプルコードは次のとおりです:

# 在頁面的 .json 文件中,引入組件
{
  "usingComponents": {
    "my-test": "/components/test/test"
  }
}
# 在頁面的 .wxml 文件中,使用組件
<my-test></my-test>

1.4. グローバル?yún)⒄榨偿螗荸`ネント

app.json グローバル設(shè)定ファイルでコンポーネントを參照する方法はグローバル?yún)⒄栅群簸肖欷蓼?。サンプ?コードは次のとおりです:

# 在 app.json 文件中,引入組件
{
  "usingComponents": {
    "my-test": "/components/test/test"
  }
}

1.5. グローバル?yún)⒄?VS ローカル?yún)⒄?strong>

頻度と範(fàn)囲に基づいて適切な參照方法を選択します。 :

  • コンポーネントが複數(shù)のページで頻繁に使用される場(chǎng)合は、グローバル?yún)⒄栅蜃鞒嗓工毪长趣颏獎(jiǎng)幛幛筏蓼?p>

  • 使用特定のページでのみコンポーネントが使用される場(chǎng)合は、ローカル?yún)⒄栅蜃鞒嗓工毪长趣颏獎(jiǎng)幛幛筏蓼?p>

#1.6. コンポーネントとページの違い表面から見ると、コンポーネントとページは .js、.json、.wxml、および .wxss の 4 つのファイルで構(gòu)成されています。ただし、コンポーネントとページの .js ファイルと .json ファイルの間には明らかな違いがあります。

    コンポーネントの .json ファイルで "component": true 屬性を宣言する必要があります。
  • Component() 関數(shù)はコンポーネントの .js ファイルで呼び出されます。
  • コンポーネントのイベント処理関數(shù)を定義する必要がありますメソッドノード內(nèi)
  • ##2. スタイルの分離

##2.1. コンポーネントのスタイルの分離

デフォルトでは、カスタム コンポーネント スタイルは現(xiàn)在のコンポーネントにのみ有効であり、コンポーネントの外部の UI 構(gòu)造には影響しません。 外部スタイルがコンポーネントの內(nèi)部スタイルに影響を與えないようにする

コンポーネント スタイルが外部スタイルを破壊しないようにする

2.2. コンポーネント スタイルの分離に関する注意事項(xiàng)

app.wxss のグローバル スタイルはコンポーネントに対して無効ですクラス セレクターのみがスタイル分離効果を持ち、ID セレクター、屬性セレクター、およびラベル セレクターに影響します。スタイル分離の影響

コンポーネントおよびコンポーネントを參照するページではクラス セレクターを使用することをお?jiǎng)幛幛筏蓼?。ID、屬性、およびラベル セレクターは使用しないでください

2.3. コンポーネントのスタイルを変更する 分離オプション

デフォルトでは、カスタム コンポーネントのスタイル分離機(jī)能により、コンポーネントの內(nèi)部スタイルと外部スタイル間の干渉を防ぐことができます。ただし、コンポーネント內(nèi)のスタイルを外部から制御できるようにしたい場(chǎng)合もあります。このとき、stylelsolation を通じてコン??ポーネントのスタイル分離オプションを変更できます。使用方法は次のとおりです:

# 在組件的 .js 文件中新增如下配置
Component({
  options: {
    stylelsolation: &#39;isolated&#39;
  }
})
# 或在組件的 .json 文件中新增如下配置
{
  "stylelsolation": "isolated"
}

2.4. stylelsolation

のオプションの値| 選択した値 | デフォルト値 | 説明 || :----------: | :----: | ---- ----------- -------------------------------------- ----------- -------------------------------------- ----------- ---------- | ---------------------------- ----------- ---------------------------------- |

| isolated | 是 | 表示啟用樣式隔離 | 表示啟用樣式隔離,在自定義組件內(nèi)外,使用 class 指定的樣式將不會(huì)互相影響 |

| apply-shared | 否 | 表示頁面 wxss 樣式將影響到自定義組件,但自定義組件 wxss 中指定的樣式不會(huì)影響頁面 |

| shared | 否 | 表示頁面 wxss 樣式將影響到自定義組件,自定義組件 wxss 中指定的樣式也會(huì)影響頁面和其他設(shè)置了 apply-shared 或 shared 的自定義組件 |

3、數(shù)據(jù)、方法和屬性

3.1、data 數(shù)據(jù)

在小程序組件中,用于組件模板渲染和私有數(shù)據(jù),需要定義到 data 節(jié)點(diǎn)中,示例如下:

Component({
  <!-- 組件的初始數(shù)據(jù) -->
  data: {
    count: 0
  }
})

3.2、methods 數(shù)據(jù)

在小程序組件中,事件處理函數(shù)和自定義方法需要定義到 methods 節(jié)點(diǎn)中,示例代碼如下:

Component({
   <!-- 組件的方法列表 -->
  methods: {
    <!-- 事件處理函數(shù) -->
    addCount() {
      this.setData({count: this.data.count + 1});
      <!-- 通過 this 直接調(diào)用自定義方法 -->
      this._showCount()
    },
    <!-- 自定義方法建議以 _ 開頭 -->
    _showCount() {
      wx.showToast({
        title: &#39;count值為:&#39; + this.data.count,
        icon: &#39;none&#39;
      })
    }
  }
})

3.3、properties 屬性

在小程序組件中,properties 是組件的對(duì)外屬性,用來接收外界傳遞到組件中的數(shù)據(jù),示例代碼如下:

Component({
  <!-- 屬性定義 -->
  properties: {
    <!-- 完整定義屬性的方式 -->
    max: {
      type: Number,
      value: 10
    },
    <!-- 簡(jiǎn)化定義屬性的方式 -->
    max: Number
  }
})

3.4、data 和 properties 的區(qū)別

在小程序的組件中,properties 屬性和 data 數(shù)據(jù)的用法相同,它們都是可讀可寫的,只不過:

  • data 更傾向于存儲(chǔ)組件的私有數(shù)據(jù)

  • properties 更傾向于存儲(chǔ)外界傳遞到組件中的數(shù)據(jù)

Component({
  methods: {
    showInfo() {
      <!-- 結(jié)果為 true,證明 data 數(shù)據(jù)和 properties 屬性本質(zhì)上是一樣的,都是可讀可寫的 -->
      console.log(this.data === this.properties)
    }
  }
})

3.5、使用 setData 修改 properties 的值

由于 data 數(shù)據(jù)和 properties 屬性在本質(zhì)上沒有任何區(qū)別,因此 properties 屬性的值也可以用于頁面渲染,或使用 setData 為 properties 中的屬性重新賦值,示例代碼如下:

# 在組建的 .wxml 文件中使用 properties 屬性的值
<view>max屬性的值為:{{max}}</view>
Component({
  properties: { max: Number },
  methods: {
    addCount() {
      this.setData({ max: this.properties.max + 1 })
    }
  }
})

4、數(shù)據(jù)監(jiān)聽器

4.1、什么是數(shù)據(jù)監(jiān)聽器

數(shù)據(jù)監(jiān)聽器用于監(jiān)聽和響應(yīng)任何屬性和數(shù)據(jù)字段的變化,從而執(zhí)行特定的操作。它的作用類似于 vue 中的 watch 偵聽器。在小程序組件中,數(shù)據(jù)監(jiān)聽器的基本語法格式如下:

Component({
  observers: {
    &#39;字段A, 字段B&#39;: function(字段A的心智, 字段B的新值) {
    }
  }
})

4.2、數(shù)據(jù)監(jiān)聽器的基本用法

Component({
  data: { n1: 0, n2: 0, sum: 0 },
  methods: {
    addN1() { sthis.setData({ n1: this.data.n1 + 1 })},
    addN2() { sthis.setData({ n2: this.data.n2 + 1 })}
  },
  observers: {
    &#39;n1, n2&#39;: function(n1, n2) {
      this.setData({sum: n1 + n2})
    }
  }
})

4.3、監(jiān)聽對(duì)象屬性的變化

# 數(shù)據(jù)監(jiān)聽器支持監(jiān)聽對(duì)象中單個(gè)或多個(gè)屬性的變化,示例代碼如下:
Component({
  observers: {
    &#39;對(duì)象.屬性A, 對(duì)象.屬性B&#39;: function(屬性A的新值, 屬性B的心智){}
  }
})
# 監(jiān)聽對(duì)象中所有屬性的變化
Component({
  observers: {
    &#39;obj.**&#39;: function(obj){}
  }
})

5、純數(shù)據(jù)字段

5.1、什么是純數(shù)據(jù)字段

純數(shù)據(jù)字段指的是那些不用于界面渲染的 data 字段。

應(yīng)用場(chǎng)景:例如有些情況下,某些 data 中的字段既不會(huì)展示在界面上,也不會(huì)傳遞給其他組件,僅僅在當(dāng)前組件內(nèi)部使用。帶有這種特性的 data 字段適合備設(shè)置為儲(chǔ)數(shù)據(jù)字段

好處:純數(shù)據(jù)字段有助于提升頁面更新的性能

5.2、使用規(guī)則

在 Component 構(gòu)造器的 options 節(jié)點(diǎn)中,指定 pureDataPattern 為一個(gè)正則表達(dá)式,字段名符合這個(gè)正則表達(dá)式的字段將成為純數(shù)據(jù)字段,示例代碼如下:

Component({
  options: {
    <!-- 指定所有 _ 開頭的數(shù)據(jù)字段為純數(shù)據(jù)字段 -->
    pureDataPattern: /^_/
  },
  data: {
    a: true, // 普通數(shù)據(jù)字段
    _b: true // 純數(shù)據(jù)字段
  }
})

6、組件的生命周期

6.1、組件的全部生命周期函數(shù)

WeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめ

6.2、組件主要的生命周期函數(shù)

在小程序組件中,最重要的生命周期函數(shù)有 3 個(gè),分別是 created、attached、detached。它們各自的特點(diǎn)如下:

  • 組件實(shí)例剛被創(chuàng)建好的時(shí)候,created 生命周期函數(shù)會(huì)被觸發(fā)

此時(shí)還不能調(diào)用 setData

通常在這個(gè)生命周期函數(shù)中,只應(yīng)該用于給組件的 this 添加一些自定義的屬性字段

  • 在組建完全初始化完畢、進(jìn)入頁面節(jié)點(diǎn)樹后,attached 生命周期函數(shù)會(huì)被觸發(fā)

此時(shí),this.data 已被初始化完畢

這個(gè)生命周期很有用,絕大多數(shù)初始化的工作可以在這個(gè)時(shí)機(jī)進(jìn)行

  • 組件離開頁面節(jié)點(diǎn)樹后,detached 生命周期函數(shù)會(huì)被觸發(fā)

退出一個(gè)頁面時(shí),會(huì)觸發(fā)頁面內(nèi)每個(gè)自定義組件的 detached 生命周期函數(shù)

此時(shí)適合做一些清理性質(zhì)的工作

6.3、lifetimes 節(jié)點(diǎn)

在小程序組件中,生命周期函數(shù)可以直接定義在 Component 構(gòu)造器的第一級(jí)參數(shù)中,可以在 lifetimes 字段內(nèi)進(jìn)行聲明(這是推薦的方式,其優(yōu)先級(jí)最高)。示例代碼如下:

Component({
  <!-- 推薦用法 -->
  lifetimes: {
    attached() {}, // 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行
    detached() {}, // 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行
  },
  <!-- 以下是舊的定義方式 -->
  attached() {}, // 在組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行
  detached() {}, // 在組件實(shí)例被從頁面節(jié)點(diǎn)樹移除時(shí)執(zhí)行
})

6.4、什么是組件所在頁面的生命周期

有時(shí),自定義組件的行為依賴于頁面狀態(tài)的變化,此時(shí)就需要用到組件所在頁面的生命周期

WeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめ

6.5、pageLifetimes 節(jié)點(diǎn)

# 組件所在頁面的生命周期函數(shù),需要定義在 pageLifetimes 節(jié)點(diǎn)中
Component({
  pageLifetimes: {
    show: function() {}, // 頁面被展示
    hide: function() {}, // 頁面被隱藏
    resize: function(size) {} // 頁面尺寸變化
  }
})

7、插槽

7.1、什么是插槽

在自定義組件的 wxml 結(jié)構(gòu)中,可以提供一個(gè) slot 節(jié)點(diǎn)(插槽),用于承載組件使用者提供的 wxml 結(jié)構(gòu)。

7.2、單個(gè)插槽

在小程序中,默認(rèn)每個(gè)自定義組件中只允許使用一個(gè) slot 進(jìn)行占位,這種個(gè)數(shù)上限制叫做單個(gè)插槽

<!-- 組件的封裝者 -->
<view class="wrapper">
  <view>這里是組件的內(nèi)部節(jié)點(diǎn)</view>
  <!-- 對(duì)于不準(zhǔn)確的內(nèi)容,可以使用 slot 進(jìn)行展位 -->
  <slot></slot>
</view>
<!-- 組件的使用者 -->
<component>
  <view>這里是插入到組件slot中的內(nèi)容</view>
</component>

7.3、啟用多個(gè)插槽

在小程序的自定義組件中,需要使用多個(gè) slot 插槽是,可以在組件的 .js 文件中,通過如下方式進(jìn)行啟用,示例代碼如下:

Component({
  options: {
    multipleSlots: true // 在組件定義時(shí),啟用多個(gè) slot 支持
  }
})

7.4、定義多個(gè)插槽

可以在組件的 .wxml 中使用多個(gè) slot 標(biāo)簽,以不同的 name 來區(qū)分不同的插槽。示例代碼如下:

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

7.5、使用多個(gè)插槽

在使用帶有多個(gè)插槽的自定義組件時(shí),需要用 slot 屬性來將節(jié)點(diǎn)插入到不同的 slot 中。示例代碼如下:

<!-- 引用組件的頁面模板 -->
<component>
  <!-- 這部分內(nèi)容將被放置在組件 <slot name="before"></slot> 的位置上 -->
  <view slot="before">這里是插入到組件 slot name="before"中的內(nèi)容</view>
  <!-- 這部分內(nèi)容將被放置在組件 <slot name="after"></slot> 的位置上 -->
  <view slot="after">這里是插入到組件 slot name="after"中的內(nèi)容</view>
</component>

8、父子組件之間的通信

8.1、父子組件之間的通信的 3 種方式

屬性綁定

用于父組件向子組件的指定屬性設(shè)置數(shù)據(jù),僅能設(shè)置 JSON 兼容的數(shù)據(jù)

事件綁定

用于子組件向父組件傳遞數(shù)據(jù),可以傳遞任意數(shù)據(jù)

獲取組件實(shí)例

父組件還可以通過 this.selectComponent() 獲取子組件實(shí)例對(duì)象

這樣舊可以直接訪問子組件的任意數(shù)據(jù)和方法

8.2、屬性綁定

屬性綁定用于實(shí)現(xiàn)父向子傳值,而且只能傳遞普通類型的數(shù)據(jù),無法將方法傳遞給子組件。父組件的示例代碼如下:

<!-- 父組件的 data 節(jié)點(diǎn) -->
data: {
  count: 0
}
<!-- 父組件的 wxml 結(jié)構(gòu) -->
<my-child count="{{count}}"></my-child>
<!-- 子組件的 properties 節(jié)點(diǎn) -->
properties: {
  count: Number
}
<!-- 子組件的 wxml -->
<view>子組件種,count值為:{{count}}</view>

8.3、事件綁定

事件綁定用于實(shí)現(xiàn)子向父?jìng)髦?,可以傳遞任何類型的數(shù)據(jù)。使用步驟如下:

在父組件的 js 中,定義一個(gè)函數(shù),這個(gè)函數(shù)即將通過自定義事件的形式,傳遞給子組件

<!-- 在父組件定義 syncCount 方法,將來傳遞給子組件,供子組件進(jìn)行調(diào)用 -->
syncCount() {
  console.log(&#39;syncCount&#39;)
}

在父組件的 wxml 中,通過自定義事件的形式,將步驟 1 中定義的函數(shù)引用,傳遞給子組件

<!-- 使用bind:自定義事件名稱(推薦:結(jié)構(gòu)清晰) -->
<my-test count="{{count}}" bind:sync="syncCount"></my-test>
<!-- 使用bind后面直接協(xié)商自定義事件名稱-->
<my-test count="{{count}}" bindsync="syncCount"></my-test>

在子組件的 js 中,通過調(diào)用 this.triggerEvent('自定義事件名稱',{參數(shù)對(duì)象}),將數(shù)據(jù)發(fā)送到父組件

<!-- 子組件的 wxml 結(jié)構(gòu) -->
<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 })
  }
}

在父組件的 js 中,通過 e.detail 獲取到子組件傳遞過來的數(shù)據(jù)

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

8.4、獲取組件實(shí)例

可在父組件里調(diào)用 this.selectComponent('id 或 class 選擇器'),獲取子組件的實(shí)例對(duì)象,從而直接訪問子組件的任意數(shù)據(jù)和方法。

<my-component count="{{count}}" bind:sync="syncCount" class="test" id="test"></my-component>
<button bindtap="getChild">獲取子組件實(shí)例</button>
<!-- 按鈕的 tap 事件處理函數(shù) -->
getChild() {
  <!-- 可以傳遞 id選擇器,也可以傳遞 class 選擇器 -->
  const child = this.selectComponent(&#39;.test&#39;)
  <!-- 調(diào)用子組件的 setData 方法 -->
  child.setData({ count: child.properties.count + 1 })
  <!-- 調(diào)用子組件的 addCount 方法 -->
  child.addCount()
}

9、behaviors

9.1、什么是 behaviors

behaviors 是小程序中,用于實(shí)現(xiàn)組件間代碼共享的特性,類似于 Vue.js 中的 mixins

9.2、behaviors 的工作方式

每個(gè) behavior 可以包含一組屬性、數(shù)據(jù)、生命周期函數(shù)和方法。組件引用它時(shí),它的屬性、屬性和方法會(huì)被合并到組件中。

每個(gè)組件可以引用多個(gè) behavior,behavior 也可以引用其它 behavior

9.3、創(chuàng)建 behavior

調(diào)用 Behavior(Object object) 方法即可創(chuàng)建一個(gè)共享的 behavior 實(shí)例對(duì)象,供所有的組件使用

# 調(diào)用 Behavior() 方法,創(chuàng)建實(shí)例對(duì)象
# 并使用 module.exports 將 behavior 實(shí)例對(duì)象共享出去
module.exports = Behavior({
  # 屬性節(jié)點(diǎn)
  properties: {},
  # 私有數(shù)據(jù)節(jié)點(diǎn)
  data: {},
  # 事件處理函數(shù)和自定義方法節(jié)點(diǎn)
  methods: {}
})

9.4、導(dǎo)入并使用 behavior

在組件中,使用 require() 方法導(dǎo)入需要的 behavior,掛載后即可訪問 behavior 中的數(shù)據(jù)或方法,示例代碼如下:

# 使用 require() 導(dǎo)入需要自定義 behavior 模塊
const myBehavior = require(&#39;my-behavior&#39;)
Component({
  <!-- 將導(dǎo)入的 behavior 實(shí)例對(duì)象,掛載到 behaviors 數(shù)組節(jié)點(diǎn)中即可生效 -->
  behaviors: [myBehavior]
})

9.5、behavior 中所有可用的節(jié)點(diǎn)

WeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめ

10、使用 npm 包

10.1、小程序?qū)?npm 的支持與限制

目前,小程序已經(jīng)支持使用 npm 安裝第三方包,從而來提高小程序的開發(fā)效率。但是,在小程序中使用 npm 包有如下 3 個(gè)限制:

  • 不支持依賴于 Node.js 內(nèi)置庫的包

  • 不支持依賴于瀏覽器內(nèi)置對(duì)象的包

  • 不支持依賴于 C++ 插件的包

10.2、API Promise 化

  • 基于回調(diào)函數(shù)的異步 API 的缺點(diǎn)

默認(rèn)情況下,小程序官方提供的異步 API 都是基于回調(diào)函數(shù)實(shí)現(xiàn)的,例如,網(wǎng)絡(luò)請(qǐng)求的 API 需要按照如下的方式調(diào)用:

wx.request({
  method: &#39;&#39;,
  url: &#39;&#39;,
  data: {},
  success: () => {}
})

缺點(diǎn):容易造成回調(diào)地獄的問題,代碼的可讀性、維護(hù)性差

  • 什么是 API Promise 化

API Promise 化,指定是通過額外的配置,將官方提供的、基于回調(diào)函數(shù)的異步 API,升級(jí)改造為基于 Promise 的異步 API,從而提高代碼的可讀性、維護(hù)性、避免回調(diào)地獄的問題

  • 實(shí)現(xiàn) API Promise 化

在小程序中,實(shí)現(xiàn) API Promise 化主要依賴于 minprogram-api-promise 這個(gè)第三方的 npm 包。它的安裝和使用步驟如下:

npm install --save minprogram-api-promise
# 在小程序入口文件中(app.js),只需要調(diào)用一次 promisifyAll() 方法
import { promisifyAll } from &#39;minprogram-api-promise&#39;
const wxp = wx.p = {}
promisifyAll(wx, wxp)
  • 調(diào)用 Promise 化之后的異步 API

# 頁面的 .wxml 結(jié)構(gòu)
<button bindtap="getInfo">vant按鈕</button>
# 在頁面的 .js 文件中,定義對(duì)應(yīng)的 tap 事件處理函數(shù)
async getInfo() {
  const { data: res } = await wx.p.request({
    method: &#39;GET&#39;,
    url: &#39;&#39;,
    data: {}
  })
}

11、全局?jǐn)?shù)據(jù)共享

11.1、什么是全局?jǐn)?shù)據(jù)共享

全局?jǐn)?shù)據(jù)共享(又叫做:狀態(tài)管理)是為了解決組件之間數(shù)據(jù)共享的問題

開發(fā)中常用的數(shù)據(jù)共享方案有:Vuex、Redux、MobX 等

11.2、小程序中的全局?jǐn)?shù)據(jù)共享方案

在小程序中,可使用 mobx-miniprogram 配合 mobx-miniprogram-bindings 實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享。其中:

  • mobx-miniprogram 用來創(chuàng)建 Store 實(shí)例對(duì)象

  • mobx-miniprogram-bindings 用來把 Store 中的共享數(shù)據(jù)或方法,綁定到組件或頁面中使用

安裝 MobX 相關(guān)的包

# 在項(xiàng)目運(yùn)行如下的命令,安裝MobX相關(guān)的包
npm install --save mobx-miniprogram mobx-miniprogram-bindings

注意:MobX 相關(guān)的包安裝完畢之后,記得刪除 miniprogram_npm 目錄后,重新構(gòu)建 npm

創(chuàng)建 MobX 的 Store 實(shí)例

import { observable, action } from &#39;mobx-miniprogram&#39;
export const store = observable({
  // 數(shù)據(jù)字段
  numA: 1,
  numB: 2,
  //計(jì)算屬性
  get sum() {
    return this.numA + this.numB
  },
  // actions 方法,用來修改 store 中的數(shù)據(jù)
  updateNumA: action(function(step) {
    this.numA += step
  }),
  updateNumB: action(function(step) {
    this.numB += step
  }),
})

將 Store 中的成員綁定到頁面中

# 頁面的 .js 文件
import { createStoreBindings } from &#39;mobx-miniprogram-bindings&#39;
import { store } from &#39;./store&#39;
Page({
  onLoad() {
    this.storeBindings = createStoreBindings(this, {
      store,
      fields: [&#39;numA&#39;, &#39;numB&#39;, &#39;sum&#39;],
      actions: [&#39;updateNumA&#39;]
    })
  },
  <!-- 生命周期函數(shù)--監(jiān)聽頁面卸載 -->
  onUnload() {
    this.storeBindings.destroyBindings()
  }
})

在頁面上使用 Store 中的成員

# 頁面的 .wxml
<view>{{numA}} + {{numB}} = {{sum}}</view>
<van-button type="primary" bindtap="btnHandler" data-step="{{1}}">numA + 1</van-button>
<van-button type="primary" bindtap="btnHandler" data-step="{{-1}}">numA - 1</van-button>
<!-- 按鈕 tap 事件的處理函數(shù) -->
btnHandler(e) {
  this.updateNumA(e.target.dataset.step)
}

將 Store 中的成員綁定到組件中

import { storeBindingsBehavior } from &#39;mobx-miniprogram-bindings&#39;
import { store } from &#39;./store&#39;
Component({
  behaviors: [storeBindingsBehavior],
  storeBindings: {
    store,
    fields: {
      numA: () => store.numA,
      numB: (store) => store.numB,
      sum: &#39;sum&#39;
    },
    actions: {
      updateNumA: &#39;updateNumA&#39;
    }
  }
})

在組件中使用 Store 中的成員

# 組件的 .wxml 結(jié)構(gòu)
<view>{{numA}} + {{numB}} = {{sum}}</view>
<van-button type="primary" bindtap="btnHandler" data-step="{{1}}">numA + 1</van-button>
<van-button type="primary" bindtap="btnHandler" data-step="{{-1}}">numA - 1</van-button>
<!-- 按鈕 tap 事件的處理函數(shù) -->
btnHandler(e) {
  this.updateNumA(e.target.dataset.step)
}

【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程

以上がWeChatミニプログラムの基礎(chǔ)強(qiáng)化まとめの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國(guó)語版

SublimeText3 中國(guó)語版

中國(guó)語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

Xianyu WeChat ミニプログラムが正式に開始 Xianyu WeChat ミニプログラムが正式に開始 Feb 10, 2024 pm 10:39 PM

Xianyu の公式 WeChat ミニ プログラムが靜かに開始されました。ミニ プログラムでは、プライベート メッセージを投稿して購入者/販売者とコミュニケーションしたり、個(gè)人情報(bào)や注文を表示したり、商品を検索したりすることができます。プログラム、見てみましょう。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評(píng)価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個(gè)人情報(bào)と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、私の投稿 5つの機(jī)能; 3. 使用したい場(chǎng)合は、購入する前に WeChat 支払いを有効にする必要があります。

WeChat ミニ プログラムに畫像フィルター効果を?qū)g裝する WeChat ミニ プログラムに畫像フィルター効果を?qū)g裝する Nov 21, 2023 pm 06:22 PM

WeChat ミニ プログラムでの畫像フィルター効果の実裝 ソーシャル メディア アプリケーションの人気に伴い、人々は寫真にフィルター効果を適用して、寫真の蕓術(shù)的効果や魅力を高めることがますます好まれています。畫像フィルター効果は WeChat ミニ プログラムにも実裝でき、より興味深く創(chuàng)造的な寫真編集機(jī)能をユーザーに提供します。この記事では、WeChat ミニ プログラムに畫像フィルター効果を?qū)g裝する方法を紹介し、具體的なコード例を示します。まず、WeChat アプレットのキャンバス コンポーネントを使用して畫像を読み込み、編集する必要があります。 Canvasコンポーネントはページ上で使用できます

WeChat アプレットにドロップダウン メニュー効果を?qū)g裝する WeChat アプレットにドロップダウン メニュー効果を?qū)g裝する Nov 21, 2023 pm 03:03 PM

WeChat ミニ プログラムでドロップダウン メニュー効果を?qū)g裝するには、特定のコード サンプルが必要です。モバイル インターネットの普及に伴い、WeChat ミニ プログラムはインターネット開発の重要な部分となり、ますます多くの人が注目し始めています。 WeChat ミニ プログラムを使用します。 WeChat ミニ プログラムの開発は、従來の APP 開発よりも簡(jiǎn)単かつ迅速ですが、特定の開発スキルを習(xí)得する必要もあります。 WeChat ミニ プログラムの開発では、ドロップダウン メニューが一般的な UI コンポーネントであり、より良いユーザー エクスペリエンスを?qū)g現(xiàn)します。この記事では、WeChat アプレットにドロップダウン メニュー効果を?qū)g裝し、実用的な機(jī)能を提供する方法を詳しく紹介します。

Xianyu WeChat アプレットの名前は何ですか? Xianyu WeChat アプレットの名前は何ですか? Feb 27, 2024 pm 01:11 PM

Xianyu の公式 WeChat ミニ プログラムが靜かに開始され、アイドルアイテムを簡(jiǎn)単に公開および交換できる便利なプラットフォームをユーザーに提供します。ミニ プログラムでは、プライベート メッセージを介して購入者または販売者とコミュニケーションしたり、個(gè)人情報(bào)や注文を表示したり、欲しい商品を検索したりできます。では、WeChat ミニ プログラムでは Xianyu とはいったい何と呼ばれているのでしょうか? このチュートリアル ガイドで詳しくご紹介しますので、知りたいユーザーは、この記事に従って読み続けてください。 Xianyu WeChat アプレットの名前は何ですか? 回答: Xianyu、アイドル取引、中古品販売、評(píng)価、リサイクル。 1. ミニ プログラムでは、アイドル メッセージの投稿、プライベート メッセージを介した購入者/販売者とのコミュニケーション、個(gè)人情報(bào)と注文の表示、指定された商品の検索などができます。 2. ミニ プログラム ページには、ホームページ、近くに、アイドル投稿、メッセージ投稿、マイ投稿の5つの機(jī)能、3.

WeChatアプレットは畫像アップロード機(jī)能を?qū)g裝 WeChatアプレットは畫像アップロード機(jī)能を?qū)g裝 Nov 21, 2023 am 09:08 AM

WeChat アプレットが畫像アップロード機(jī)能を?qū)g裝 モバイル インターネットの発展に伴い、WeChat アプレットは人々の生活に欠かせないものになりました。 WeChat ミニ プログラムは、豊富なアプリケーション シナリオを提供するだけでなく、畫像アップロード機(jī)能などの開発者定義の機(jī)能もサポートします。この記事では、WeChat アプレットに畫像アップロード機(jī)能を?qū)g裝する方法と具體的なコード例を紹介します。 1. 準(zhǔn)備作業(yè) コードを書き始める前に、WeChat 開発者ツールをダウンロードしてインストールし、WeChat 開発者として登録する必要があります。同時(shí)に、WeChat についても理解する必要があります。

WeChat アプレットを使用してカルーセル切り替え効果を?qū)g現(xiàn)する WeChat アプレットを使用してカルーセル切り替え効果を?qū)g現(xiàn)する Nov 21, 2023 pm 05:59 PM

WeChat アプレットを使用してカルーセル スイッチング効果を?qū)g現(xiàn)する WeChat アプレットは、シンプルで効率的な開発と使用特性を備えた軽量のアプリケーションです。 WeChat ミニ プログラムでは、カルーセル スイッチング効果を?qū)g現(xiàn)することが一般的な要件です。この記事では、WeChat アプレットを使用してカルーセル切り替え効果を?qū)g現(xiàn)する方法と、具體的なコード例を紹介します。まず、カルーセル コンポーネントを WeChat アプレットのページ ファイルに追加します。たとえば、&lt;swiper&gt; タグを使用すると、カルーセルの切り替え効果を?qū)g現(xiàn)できます。このコンポーネントでは、 b を渡すことができます。

WeChat アプレットに畫像回転効果を?qū)g裝する WeChat アプレットに畫像回転効果を?qū)g裝する Nov 21, 2023 am 08:26 AM

WeChat ミニ プログラムで畫像回転効果を?qū)g裝するには、特定のコード サンプルが必要です。WeChat ミニ プログラムは、ユーザーに豊富な機(jī)能と優(yōu)れたユーザー エクスペリエンスを提供する軽量のアプリケーションです。ミニ プログラムでは、開発者はさまざまなコンポーネントと API を使用して、さまざまな効果を?qū)g現(xiàn)できます。その中で、畫像回転効果は、ミニプログラムに興味と視覚効果を加えることができる一般的なアニメーション効果です。 WeChat ミニ プログラムで畫像の回転効果を?qū)g現(xiàn)するには、ミニ プログラムが提供するアニメーション API を使用する必要があります。以下は、その方法を示す具體的なコード例です。

WeChatミニプログラムにスライディング削除機(jī)能を?qū)g裝する WeChatミニプログラムにスライディング削除機(jī)能を?qū)g裝する Nov 21, 2023 pm 06:22 PM

WeChat ミニ プログラムにスライディング削除機(jī)能を?qū)g裝するには、特定のコード サンプルが必要です。WeChat ミニ プログラムの人気に伴い、開発者は開発プロセス中にいくつかの一般的な機(jī)能を?qū)g裝する際に問題に遭遇することがよくあります。中でも、スライド削除機(jī)能は、よく使われる一般的な機(jī)能要件です。この記事では、WeChat アプレットにスライディング削除機(jī)能を?qū)g裝する方法と具體的なコード例を詳しく紹介します。 1. 要件分析 WeChat ミニ プログラムでは、スライド削除機(jī)能の実裝には次の點(diǎn)が含まれます。 リスト表示: スライドして削除できるリストを表示するには、各リスト項(xiàng)目に次の要素が含まれている必要があります。

See all articles