国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享

這篇具有很好參考價(jià)值的文章主要介紹了小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

查看小程序根目錄中是否存在package.json文件

在項(xiàng)目根目錄運(yùn)行cmd

沒(méi)有package.json文件輸入npm init -y初始化一下,初始化一個(gè)包管理

安裝MobX

npm install --save mobx-miniprogram@4.13.2 mobx-miniprogram-bindings@1.2.1

小程序菜單欄工具–構(gòu)建npm

根目錄創(chuàng)建store文件夾,在文件夾下新建store.js ,這個(gè)文件是專門(mén)用來(lái)創(chuàng)建store的實(shí)例對(duì)象

import {observable} from 'mobx-miniprogram'
export const store = observable({
  userid: 123,
  username: 'as',
  numA: 1,
  numB: 2,
  // 計(jì)算屬性
  get sum() {
    return this.numA + this.numB
  },
  // action方法,用來(lái)修改store中數(shù)據(jù)
  UpdateNum1: action(function (step) {
    this.numA += step
  }),
  UpdateNum2: action(function (step) {
    this.numB += step
  })
})

在頁(yè)面使用store數(shù)據(jù)

.js文件

import {createStoreBindings} from 'mobx-miniprogram-bindings'
import {store} from '../../store/store'
//在onload生命周期中掛載
  onLoad: function (options) {
    this.storeBindings = createStoreBindings(this, {
      store,
      // 數(shù)據(jù)以及計(jì)算屬性放fields里
      fields: ['numA', 'numB', 'userid', 'username', 'sum'],
      actions: ['UpdateNum1', 'UpdateNum2']
    })
  },
  //在onUnload中清理
    onUnload: function () {
    // 數(shù)據(jù)清理
    this.storeBindings.destroyStoreBindings()
  },

此時(shí)可以在頁(yè)面中用{{}}使用store中的數(shù)據(jù)

<view>userid:{{userid}}</view>
<view>username:{{username}}</view>

小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm

使用store中的action方法

頁(yè)面綁定一個(gè)方法,并且使用data-*進(jìn)行傳參

<view>{{numA}}+{{numB}}={{sum}}</view>
<van-button bindtap="change" data-newA="{{1}}">numA+1</van-button>
<van-button bindtap="change" type='warning' data-newA="{{-1}}">numA-1</van-button>

小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm
在js中使用

  change(e) {
    console.log(e);
    const newA = e.target.dataset.newa
    this.UpdateNum1(newA)
  },

打印
小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm

點(diǎn)擊之后就可以是頁(yè)面數(shù)據(jù)+1或者-1
小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm
小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm

在組件中使用store中的數(shù)據(jù)

在根目錄中新建components文件夾,在文件夾下新增number文件夾,
在number文件夾下右鍵點(diǎn)擊新增component,然后命名,會(huì)自動(dòng)生成四個(gè)同名文件

小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm

在組件的js文件中引入

// components/numbers/numbers.js
import { storeBindingsBehavior} from 'mobx-miniprogram-bindings'
import {store} from '../../store/store'

//在Component中掛載
Component({
  // 通過(guò)storeBindingsBehavior來(lái)實(shí)現(xiàn)自動(dòng)綁定
  behaviors: [storeBindingsBehavior],
  storeBindings: {
    // 數(shù)據(jù)源
    store,
    //fields中寫(xiě)store中的數(shù)據(jù)以及計(jì)算屬性
    fields: {
      // 前面是映射到組件中的名字,可以自定義,也可以填寫(xiě)一致
      //后面是store中的名字,字符串形式
      n1: 'numA',
      n2: 'numB',
      sumCount: 'sum'
    },
    //actions寫(xiě)store中的action方法
    actions: {
      UpdateNum2: 'UpdateNum2'
    }
  },
})

頁(yè)面中{{}}來(lái)使用store中的數(shù)據(jù)

頁(yè)面綁定一個(gè)方法,并且使用data-*進(jìn)行傳參

<!-- 組件中使用store數(shù)據(jù) -->
<view>{{n1}}+{{n2}}={{sumCount}}</view>
<van-button bindtap="HandelNum" data-newB="{{1}}">numB+1</van-button>
<van-button bindtap="HandelNum" type='warning' data-newB="{{-1}}">numB-1</van-button>

在組件js文件中定義HandelNum方法

Component({
  /**
   * 組件的方法列表寫(xiě)在Component中的methods下
   */
  methods: {
    HandelNum(e) {
      console.log(e);
      this.UpdateNum2(e.target.dataset.newb)
    }
  }
})

小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm

在頁(yè)面中使用該組件

  1. 在app.json中定義全局組件
"usingComponents": {
    "my-numbers": "/components/numbers/numbers"
    "van-button": "@vant/weapp/button/index"
  }
  1. 在頁(yè)面中使用組件
<my-numbers></my-numbers>

小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm
3. 點(diǎn)擊按鈕可實(shí)現(xiàn)數(shù)據(jù)+1 -1
小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm
小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享,微信小程序,小程序,javascript,前端,npm文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-569424.html

到了這里,關(guān)于小程序MobX創(chuàng)建store并實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 微信小程序全局?jǐn)?shù)據(jù)共享

    微信小程序全局?jǐn)?shù)據(jù)共享

    全局?jǐn)?shù)據(jù)共享(又叫做:狀態(tài)管理)是為了解決組件之間數(shù)據(jù)共享的問(wèn)題。 在小程序中,可使用mobx-miniprogram配合mobx-miniprogram-bindings實(shí)現(xiàn)全局?jǐn)?shù)據(jù)共享mobx-miniprogram用來(lái)創(chuàng)建Store實(shí)例對(duì)象 mobx-miniprogram-bindings用來(lái)把Store中的共享數(shù)據(jù)或方法,綁定到組件或頁(yè)面中使用? npm install --s

    2024年02月11日
    瀏覽(23)
  • 微信小程序--》小程序—全局?jǐn)?shù)據(jù)共享和分包

    微信小程序--》小程序—全局?jǐn)?shù)據(jù)共享和分包

    ???作者簡(jiǎn)介:大家好,我是亦世凡華、渴望知識(shí)儲(chǔ)備自己的一名在校大學(xué)生 ??個(gè)人主頁(yè):亦世凡華、 ??系列專欄:微信小程序 ??座右銘:人生亦可燃燒,亦可腐敗,我愿燃燒,耗盡所有光芒。 ??引言 ?????? ?經(jīng)過(guò)web前端開(kāi)發(fā)的學(xué)習(xí),相信大家對(duì)于前端開(kāi)發(fā)有了一

    2024年02月02日
    瀏覽(23)
  • 微信小程序?qū)崿F(xiàn)全局參數(shù)共享,且實(shí)現(xiàn)全局參數(shù)變化時(shí)的頁(yè)面間通信

    首先,微信小程序中并沒(méi)有提供直接的全局事件系統(tǒng)來(lái)監(jiān)聽(tīng)全局參數(shù)的變化。因此,我們需要采用其他方式來(lái)達(dá)到這一目的。一種常見(jiàn)的方法是使用全局變量和事件監(jiān)聽(tīng)來(lái)模擬全局事件系統(tǒng)。 1. 定義全局變量和事件 在 app.js 中定義全局變量,并提供一個(gè)方法來(lái)更新這些變量并

    2024年04月15日
    瀏覽(29)
  • 在uni-app使用vue3進(jìn)行store全局?jǐn)?shù)據(jù)共享

    在uni-app使用vue3進(jìn)行store全局?jǐn)?shù)據(jù)共享

    在uni-app中使用vue3進(jìn)行store的全局?jǐn)?shù)據(jù)共享,網(wǎng)上文章太雜了,記錄一下自己寫(xiě)的一個(gè)最簡(jiǎn)單易懂的例子,以供自己后面需要用到時(shí)候可以最直觀的知道到底怎么實(shí)現(xiàn) 在index.js中寫(xiě)入代碼如下(示例): uni-app好像內(nèi)置vuex,不需要額外下載,如果記錯(cuò)了的話就得先去下載好 代

    2024年02月09日
    瀏覽(36)
  • 微信小程序中的全局?jǐn)?shù)據(jù)共享(狀態(tài)管理)使用介紹

    微信小程序中的全局?jǐn)?shù)據(jù)共享(狀態(tài)管理)使用介紹

    開(kāi)發(fā)工具:微信開(kāi)發(fā)者工具Stable 1.06? 微信小程序全局狀態(tài)是指可以在不同頁(yè)面之間共享的數(shù)據(jù)或狀態(tài)。 它可以存儲(chǔ)用戶的登錄狀態(tài)、個(gè)人信息、全局配置信息等。 在資源管理器的空白地方點(diǎn)右鍵,選擇“在外部終端窗口中打開(kāi)”,注意要用 管理員權(quán)限 打開(kāi) 輸入 npm init -

    2024年02月14日
    瀏覽(25)
  • 小程序全局變量管理-mobx引入與使用

    小程序全局變量管理-mobx引入與使用

    背景: 對(duì)于全局變量操作,如果不規(guī)范使用很容易產(chǎn)生意想不到的問(wèn)題,使用mobx對(duì)全局變量進(jìn)行管理,能夠規(guī)范代碼操作,使程序變得簡(jiǎn)單高效。 代碼使用: 1)定義全局變量 2)頁(yè)面1中引用 該變量 page1.ts page1.wxml 3)頁(yè)面2中更改該變量。 4)測(cè)試。頁(yè)面1跳轉(zhuǎn)至頁(yè)面2,頁(yè)面

    2024年02月19日
    瀏覽(20)
  • 微信小程序開(kāi)發(fā)實(shí)戰(zhàn) ②③(全局?jǐn)?shù)據(jù)共享)

    微信小程序開(kāi)發(fā)實(shí)戰(zhàn) ②③(全局?jǐn)?shù)據(jù)共享)

    @作者 : SYFStrive ? @博客首頁(yè) : HomePage ??: 微信小程序 ??: 個(gè)人社區(qū)(歡迎大佬們加入) ??: 社區(qū)鏈接?? ??: 覺(jué)得文章不錯(cuò)可以點(diǎn)點(diǎn)關(guān)注 ??: 專欄連接?? ??: 感謝支持,學(xué)累了可以先看小段由小胖給大家?guī)?lái)的街舞 ?? 微信小程序 (??) 分包指的是把一個(gè)完整的

    2024年02月09日
    瀏覽(20)
  • 微信小程序創(chuàng)建自定義全局函數(shù)及其調(diào)用方法

    微信小程序創(chuàng)建自定義全局函數(shù)及其調(diào)用方法

    一:創(chuàng)建小程序全局函數(shù) 1:在微信開(kāi)發(fā)工具中增加一個(gè)JS文檔, 放入全局全局函數(shù) 代碼說(shuō)明 1:全局函數(shù)只能放var定義的變量下,本例的var 變量為myFunction 格式為: var myFunction={ 在這里編寫(xiě)你的全局函數(shù) } 你可以把myFunction理解為一個(gè)類(lèi),你的全局函數(shù)理解放類(lèi)中的一個(gè)方法

    2024年02月09日
    瀏覽(23)
  • 微信小程序通過(guò) wxministore 實(shí)現(xiàn)類(lèi)似于vuex的全局裝填數(shù)據(jù)管理

    微信小程序通過(guò) wxministore 實(shí)現(xiàn)類(lèi)似于vuex的全局裝填數(shù)據(jù)管理

    首先 我們打開(kāi)終端 引入依賴 然后 如果你是新版開(kāi)發(fā)者工具 就 構(gòu)建一下 如果你是 老版本的 微信開(kāi)發(fā)者工具 就打開(kāi)右上角詳情 選擇本地管理 勾選 使用 npm 模塊 然后 在根目錄下創(chuàng)建一個(gè) store.js 當(dāng)然建在哪是你自己決定的 反正 后面能引入到就好 然后 store.js 編寫(xiě)代碼如下

    2024年02月05日
    瀏覽(30)
  • 【小程序 - 加強(qiáng)】自定義組件、使用npm包、全局?jǐn)?shù)據(jù)共享、分包_05

    【小程序 - 加強(qiáng)】自定義組件、使用npm包、全局?jǐn)?shù)據(jù)共享、分包_05

    目錄 一、自定義組件 1. 組件的創(chuàng)建與引用 1.1 創(chuàng)建組件 1.2?引用組件 1.2.1?局部引用組件 1.2.2 全局引用組件 1.2.3?全局引用 VS 局部引用 1.2.4?組件和頁(yè)面的區(qū)別 2. 樣式 2.1?組件樣式隔離 2.2?組件樣式隔離的注意點(diǎn) 2.3?修改組件的樣式隔離選項(xiàng) 2.4?styleIsolation 的可選值 3. 數(shù)據(jù)

    2024年02月07日
    瀏覽(50)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包