微信小程序中的傳值方式秃励,添加”主動技能”

移動開發(fā)的頁間傳值方式

在移動開發(fā)過程中拦焚,這里以iOS原生開發(fā)為例,在整個開發(fā)中頁面間有多種傳值方式

  • 屬性傳值
  • Block傳值
  • 代理傳值
  • 單例傳值
  • 通知傳值
  • ...

主要是以上幾種傳值方式峦剔,來應(yīng)對一些復(fù)雜的業(yè)務(wù)邏輯

微信小程序的頁間傳值方式

微信小程序因?yàn)槭敲嫦蚬δ茌^為簡單的需求進(jìn)行開發(fā)(不排除以后會復(fù)雜起來),所以傳值的方式比較少

  • 路徑傳值(官方推薦)

路徑傳值是目前看來微信官方給的最靠譜的傳值方式

例子

wx.navigateTo({ 
  url: 'test?id=1'
})
//test.js 取值方式
Page({ 
  onLoad: function(option){ 
    console.log(option.query) 
}})
  • 公共屬性傳值(不推薦)

這個是我自己YY起的名字

對角钩,利用app.js暴漏公共屬性進(jìn)行

// app.js 設(shè)定公共屬性
data: {
  hl:"hello world!"
}
// test.js  取出公共屬性
var app = getApp()
console.log(app.hl);

然后通過onshow方法判斷激活處理

  • storage傳值(強(qiáng)烈不推薦)

這個比較好理解,放在storage的key-value,可以使用官方的api進(jìn)行“增刪改查”野舶。

storage官方方法

然后通過onshow方法判斷激活處理

缺陷

從上面微信小程序的頁間傳值方式中可以看到平道,微信小程序的傳值方式都是建立在被動傳值一屋,主動處理的基礎(chǔ)上的.

除了你以靜態(tài)變更變量后,主動在onload或者onshow中進(jìn)行主動喚醒處理方法闸衫,否則你沒有什么方法來進(jìn)行邏輯上的主動處理蔚出。

這樣會造成兩個問題:

  1. 代碼結(jié)構(gòu)錯亂和冗余
  2. 代碼耦合度高

以移動開發(fā)模式來解決問題

反觀虫腋,在移動開發(fā)中悦冀,各種傳值方式是為了滿足不同場景下的不同調(diào)用盒蟆,這樣可以靈活的解決不同場景下的不同需求。

  • 實(shí)際場景分析

比如場景历等,用戶選擇啟動“夜間模式”寒屯,那么我們需要將整個app的主題更換為黑色主題,如果按照現(xiàn)有的方法浩螺,我們需要依依在onshow中進(jìn)行判斷。

當(dāng)然這個例子并不完全正確鸳君,你也可以通過設(shè)置全局的css來進(jìn)行患蹂。

  • 以通知模式來解決問題

昨天我發(fā)布了WxNotificationCenter - 微信小程序通知廣播模式類,降低小程序開發(fā)的耦合度,是借鑒iOS開發(fā)中的通知模式來實(shí)現(xiàn)。

主要就是實(shí)現(xiàn)主動注冊通知囱挑,然后分發(fā)通知后多處共同分別處理的解決方案平挑。

這種方案不一定是好的通熄,目前可能沒有很多微信小程序會用到,但是在處理不同邏輯過程中廊酣,需要我們?nèi)ニ伎家幌履欠N更加人性化和方便亡驰,來解決實(shí)際問題隐解。

WxNotificationCenter - 微信小程序通知廣播模式類,降低小程序開發(fā)的耦合度 解決的問題就是一對多诫睬,多觸發(fā)的主動技能帕涌。你可以實(shí)際看我在這個過程中的demo

通知模式簡單邏輯圖

https://github.com/icindy/WxNotificationCenter/blob/master/README.md

以移動端的思維來思考微信小程序

微信小程序本身就可以劃歸為移動開發(fā)范疇蚓曼,不管語法是怎么樣的纫版,如果有移動開發(fā)經(jīng)驗(yàn)的同學(xué)來說,將自己的移動端思維拿到微信小程序中加以使用癞己,可能效果會更好。

來源

首發(fā)地址http://weappdev.com/t/topic/236
微信小程序開發(fā)論壇 http://weappdev.com/
垂直微信小程序開發(fā)交流社區(qū)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末痹雅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子糊识,更是在濱河造成了極大的恐慌,老刑警劉巖赂苗,帶你破解...
    沈念sama閱讀 222,865評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愉耙,死亡現(xiàn)場離奇詭異拌滋,居然都是意外死亡朴沿,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評論 3 399
  • 文/潘曉璐 我一進(jìn)店門败砂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來龄毡,“玉大人,你說我怎么就攤上這事沦零』趿耄” “怎么了屯仗?”我有些...
    開封第一講書人閱讀 169,631評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長魁袜。 經(jīng)常有香客問我峰弹,道長,這世上最難降的妖魔是什么芜果? 我笑而不...
    開封第一講書人閱讀 60,199評論 1 300
  • 正文 為了忘掉前任鞠呈,我火速辦了婚禮,結(jié)果婚禮上右钾,老公的妹妹穿的比我還像新娘蚁吝。我一直安慰自己,他們只是感情好舀射,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評論 6 398
  • 文/花漫 我一把揭開白布窘茁。 她就那樣靜靜地躺著,像睡著了一般脆烟。 火紅的嫁衣襯著肌膚如雪庙曙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,793評論 1 314
  • 那天浩淘,我揣著相機(jī)與錄音捌朴,去河邊找鬼。 笑死张抄,一個胖子當(dāng)著我的面吹牛砂蔽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播署惯,決...
    沈念sama閱讀 41,221評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼左驾,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起诡右,我...
    開封第一講書人閱讀 40,174評論 0 277
  • 序言:老撾萬榮一對情侶失蹤安岂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后帆吻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體域那,經(jīng)...
    沈念sama閱讀 46,699評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評論 3 343
  • 正文 我和宋清朗相戀三年猜煮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了次员。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,918評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡王带,死狀恐怖淑蔚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情愕撰,我是刑警寧澤刹衫,帶...
    沈念sama閱讀 36,573評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站搞挣,受9級特大地震影響带迟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜柿究,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望黄选。 院中可真熱鬧蝇摸,春花似錦、人聲如沸办陷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽民镜。三九已至啡专,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間制圈,已是汗流浹背们童。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鲸鹦,地道東北人慧库。 一個月前我還...
    沈念sama閱讀 49,364評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像馋嗜,于是被迫代替她去往敵國和親齐板。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評論 2 361

推薦閱讀更多精彩內(nèi)容