初探微信小程序之小川天氣

微信小程序可以說是當下很火熱的應用了赴精。在好奇心的作用下完沪,通讀了一遍之后便開始上手擼了一個很簡單的天氣應用——小川天氣息尺。


小川天氣
首頁
生活指數(shù)
導航
城市選擇

目前已經發(fā)布正式版本携兵,你可以直接在微信中搜索小川天氣來使用。

小程序的文檔已經很完善了搂誉,通讀一遍后上手寫代碼并不是很難徐紧,下面主要講一下本人在開發(fā)微信小程序的一些感觸(坑)~

SetData

類似于ReactsetState,用于更改狀態(tài)炭懊,但小程序做得更加智能并级,你完全可以直接修改數(shù)組中的某一項的值而不必再克隆一份出來:

//小程序
this.setData({
    "arr[0]": "new value"
})
//react
let _arr = JSON.parse(JSON.stringify(this.state.arr));
_arr[0] = "new value";
this.setState({
    arr: _arr
})

修改對象也是如此:

//小程序
this.setData({
    "obj.name": "mescal-chuan"
})
//react
let _obj = JSON.parse(JSON.stringify(this.state.obj));
_obj.name = "mescal-chuan";
this.setState({
    obj: _obj
})

頁面中綁定函數(shù)

使用bind指令進行函數(shù)綁定:

 <view bindtap="openModal"></view>

看起來和vue差不多,然而如果你想給這個函數(shù)傳遞一些參數(shù)就比較惡心了:

 <view bindtap="openModal" data-index="{{index}}"></view>
//js
openModal() {
    const currentIndex = e.currentTarget.dataset.index;
    this.setData({
      currentIndex
    })
    wx.showModal({
        title: config.lifeStyleTitle(activity[currentIndex].type),
        content: activity[currentIndex].txt,
        showCancel: false
    })
}

頁面通信

以本應用為例凛虽,用戶在城市選擇頁選擇新的城市之后死遭,需要通知首頁刷新數(shù)據(jù)。在單頁應用中我們可以使用reduxvuex這類狀態(tài)管理庫實現(xiàn)狀態(tài)的全局化凯旋;在使用dcloud這類webapp開發(fā)時呀潭,我們可以用它們自己內部定制的事件傳遞來實現(xiàn)跨頁面通信钉迷。那么在微信小程序中,你可以獲取一個頁面的實例钠署,然后直接調用該頁面內部的方法糠聪。

//city.js
selectCity(e) {
    const keyIndex = e.currentTarget.dataset.key;
    const childIndex = e.currentTarget.dataset.child;
    const pages = getCurrentPages();
    const homePage = pages[0];
    //調用首頁的方法來刷新首頁數(shù)據(jù)
    homePage.getNewCity(null, keyIndex, childIndex);
    wx.navigateBack();
}

指令中使用函數(shù)

很遺憾,一個頁面內部的函數(shù)只能用在事件綁定中谐鼎,如果你想實現(xiàn)類似于<text>{{getDateText(index)}}</text>這樣的功能舰蟆,可以考慮使用wxs。它是小程序的一套腳本語言狸棍,配合我們的wxml一起完成頁面構建身害。

//index.vue
<template>
    <p>{{getDateText(index)}}</p>
</template>
<script>
    export default {
        ...
        methods: {
            getDateText(index) {
                return xxx;
            }
        }
        ...
    }
</script>
//index.wxs
var getDateText = function(index) {
    return xxx;
}
module.exports = {
    getDateText: getDateText
}
//index.wxml
<wxs src="./index.wxs" module="forecast"/>
<text>{{forecast.getDateText(index)}}</text>

UI

小程序的組件到目前為止還不是很完善,一些比較常用的組件需要自己實現(xiàn)草戈,比如:抽屜塌鸯、模態(tài)框、Loading等唐片。當然丙猬,github上也有一些比較成熟的UI庫供你直接使用,比如本項目中用到的小程序版echarts费韭。

總結

目前為止遇到的坑大致如此茧球,由于只是開發(fā)了一個簡單應用,所涉及到的知識只是皮毛星持,后續(xù)有時間會繼續(xù)開發(fā)一個復雜應用抢埋。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市钉汗,隨后出現(xiàn)的幾起案子羹令,更是在濱河造成了極大的恐慌,老刑警劉巖损痰,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件福侈,死亡現(xiàn)場離奇詭異,居然都是意外死亡卢未,警方通過查閱死者的電腦和手機肪凛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來辽社,“玉大人伟墙,你說我怎么就攤上這事〉吻Γ” “怎么了戳葵?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長汉匙。 經常有香客問我拱烁,道長生蚁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任戏自,我火速辦了婚禮邦投,結果婚禮上,老公的妹妹穿的比我還像新娘擅笔。我一直安慰自己志衣,他們只是感情好,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布猛们。 她就那樣靜靜地躺著每聪,像睡著了一般琳骡。 火紅的嫁衣襯著肌膚如雪揩环。 梳的紋絲不亂的頭發(fā)上鸟悴,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音耳胎,去河邊找鬼。 笑死惕它,一個胖子當著我的面吹牛怕午,可吹牛的內容都是我干的。 我是一名探鬼主播淹魄,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼郁惜,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了甲锡?” 一聲冷哼從身側響起兆蕉,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缤沦,沒想到半個月后虎韵,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡缸废,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年包蓝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片企量。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡测萎,死狀恐怖,靈堂內的尸體忽然破棺而出届巩,到底是詐尸還是另有隱情硅瞧,我是刑警寧澤,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布恕汇,位于F島的核電站腕唧,受9級特大地震影響冒嫡,放射性物質發(fā)生泄漏。R本人自食惡果不足惜四苇,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一孝凌、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧月腋,春花似錦蟀架、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至妓肢,卻和暖如春捌省,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背碉钠。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工纲缓, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人喊废。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓祝高,卻偏偏與公主長得像,于是被迫代替她去往敵國和親污筷。 傳聞我的和親對象是個殘疾皇子工闺,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,298評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)瓣蛀,斷路器陆蟆,智...
    卡卡羅2017閱讀 134,702評論 18 139
  • 你我同在地球上 確過著不一樣的生活 我的白天是你的夜晚 我的夜晚就是你的白天 我們總是過著顛倒黑白的日子 正如白天...
    涼山情閱讀 168評論 0 0
  • 薔薇少年與妄想者 人多任性,人少任命...
    竹生千節(jié)閱讀 387評論 0 0
  • 更新 其他 移除git管理 沖突 git拉代碼導致xcode出現(xiàn) The file couldn’t be ope...
    Shin_R閱讀 205評論 0 0