在小程序項(xiàng)目中, 我們的通常會使用到使用到一個全局對象作為各個頁面通用的數(shù)據(jù)存儲容器, 將它綁定到app對象后, 就能在每一個頁面都自由的操縱這個對象. 然而在實(shí)踐中, 由于這個對象及其屬性不具備響應(yīng)式條件, 它不能直接參與業(yè)務(wù)邏輯的編寫, 能力僅僅局限于數(shù)據(jù)儲存. 若是在VueJS項(xiàng)目中, 我們可能經(jīng)常使用到Vue.$watch去偵聽某個數(shù)據(jù)是否發(fā)生變化, 小程序卻缺乏這種能力.
在這篇文章中, 我將用150行代碼, 手把手帶你打造一個小程序也可以使用的偵聽器(下簡稱VX):
// 一個快速賦值的語法糖函數(shù), 可以創(chuàng)建結(jié)構(gòu)為 { value: a { b: { val: ""} } } 的對象
vx.set("value.a.d", { val: "" })
// 對某個屬性進(jìn)行偵聽, 如果發(fā)生改變, 則執(zhí)行相應(yīng)函數(shù)(可多次watch以執(zhí)行多個函數(shù))
vx.watch("value.a.d.val", newVal => {
console.log(`val改變?yōu)?: `, newVal)
})
value.a.d.val = 3 // val改編為 : 3
使用VX偵聽器, 我們可以更加方便的管理各個頁面的狀態(tài). 同時, 我們憑借watch語法, 可以更優(yōu)雅地編寫業(yè)務(wù)邏輯.
坐穩(wěn)了, 三輪車準(zhǔn)備啟動了~ 各位評論見~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/7339.html
摘要:在實(shí)際開發(fā)項(xiàng)目中,有時我們會用到自定義按鈕因?yàn)橐粋€項(xiàng)目中,眾多的頁面,為了統(tǒng)一風(fēng)格,我們會重復(fù)用到很多相同或相似的按鈕,這時候,自定義按鈕組件就派上了大用場,我們把定義好的按鈕組件導(dǎo)出,在全局引用,就可以在其他組件隨意使用啦,這樣可以大幅度 在實(shí)際開發(fā)項(xiàng)目中,有時我們會用到自定義按鈕;因?yàn)橐粋€項(xiàng)目中,眾多的頁面,為了統(tǒng)一風(fēng)格,我們會重復(fù)用到很多相同或相似的按鈕,這時候,自定義按鈕組件就...
摘要:代碼整潔之道整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護(hù),同時降低幾率。另外這不是強(qiáng)制的代碼規(guī)范,就像原文中說的,。里式替換原則父類和子類應(yīng)該可以被交換使用而不會出錯。注釋好的代碼是自解釋的。 JavaScript代碼整潔之道 整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護(hù),同時降低bug幾率。 原文clean-c...
摘要:接著我之前寫的一篇有關(guān)前端面試題的總結(jié),分享幾道比較經(jīng)典的題目第一題考點(diǎn)作用域,運(yùn)算符栗子都會進(jìn)行運(yùn)算,但是最后之后輸出最后一個也就是那么其實(shí)就是而且是個匿名函數(shù),也就是屬于,就輸出第二和第三個都是類似的,而且作用域是都是輸出最后一個其實(shí)就 接著我之前寫的一篇有關(guān)前端面試題的總結(jié),分享幾道比較經(jīng)典的題目: 第一題: showImg(https://segmentfault.com/im...
對比內(nèi)容UCloudStackZStackVMwareQingCloud騰訊TStack華為云Stack優(yōu)勢總結(jié)?基于公有云自主可控?公有云架構(gòu)私有化部署?輕量化/輕運(yùn)維/易用性好?政府行業(yè)可復(fù)制案例輕量化 IaaS 虛擬化平臺?輕量化、產(chǎn)品成熟度高?業(yè)內(nèi)好評度高?功能豐富、交付部署快?中小企業(yè)案例多全套虛擬產(chǎn)品及云平臺產(chǎn)品?完整生態(tài)鏈、技術(shù)成熟?比較全面且健全的渠道?產(chǎn)品成熟度被市場認(rèn)可,市場占...
摘要:能跨平臺地設(shè)置及使用環(huán)境變量讓這一切變得簡單,不同平臺使用唯一指令,無需擔(dān)心跨平臺問題安裝方式改寫使用了環(huán)境變量的常見如在腳本多是里這么配置運(yùn)行,這樣便設(shè)置成功,無需擔(dān)心跨平臺問題關(guān)于跨平臺兼容,有幾點(diǎn)注意 cross-env能跨平臺地設(shè)置及使用環(huán)境變量, cross-env讓這一切變得簡單,不同平臺使用唯一指令,無需擔(dān)心跨平臺問題 1、npm安裝方式 npm i --save-de...
摘要:引入的模塊引入的使用將打包打包的拆分將一部分抽離出來物理地址拼接優(yōu)化打包速度壓縮代碼,這里使用的是,同樣在的里面添加 const path = require(path); //引入node的path模塊const webpack = require(webpack); //引入的webpack,使用lodashconst HtmlWebpackPlugin = require(ht...
閱讀 2524·2021-11-18 10:02
閱讀 1997·2021-11-09 09:45
閱讀 2449·2021-09-26 09:47
閱讀 1038·2021-07-23 10:26
閱讀 1079·2019-08-30 15:47
閱讀 3368·2019-08-30 15:44
閱讀 987·2019-08-30 15:43
閱讀 893·2019-08-29 13:50