微信小程序開發(fā)教程--從零開始

從零開始小程序

今天一不小心拿到了小程序的內(nèi)測資格,為了不辜負微信團隊的信任,我決定十一奮斗一把望几!不過話說我可是一個Android工程師啊萤厅!所以就讓我們從零開始橄抹!
所以本文非常適合非前端工程師學習!哈哈惕味!都說小程序出來前端會搶移動端飯碗楼誓,但是據(jù)我所知現(xiàn)在好多學習的都是移動開發(fā)工程師,誰搶誰的還不一定呢名挥!
PS:表問我怎么拿到小程序內(nèi)測資格的疟羹,有種東西叫內(nèi)部資源!

  • 準備工作
    • IDE搭建
    • 知識準備
  • 從零開始
    • app.js
    • app.json
    • app.wxml
    • app.wxss
  • Hello World
    • 創(chuàng)建程序?qū)嵗?/li>
    • 美化ActionBar
    • 美化頁面
    • 配置首頁
  • 超級Hello World
    • 事件綁定函數(shù)
    • 更新界面數(shù)據(jù)

準備工作

IDE搭建

就不多說了禀倔,沒有內(nèi)測碼去下載個破解版吧榄融,我用了一下,學習完全夠了救湖!IDE破解版+安裝教程

圖片發(fā)自簡書App


知識準備

JavaScrip還是要看看的愧杯,推薦教程 廖雪峰大神的博客
HTML+CSS 大概知道是干啥的就行


從零開始

微信小程序中就四種類型的文件

  • js ---------- JavaScrip文件
  • json -------- 項目配置文件,負責窗口顏色等等
  • wxml ------- 類似HTML文件
  • wxss ------- 類似CSS文件

在根目錄下用app來命名的這四中類型的文件鞋既,就是程序入口文件力九。

app.json

必須要有這個文件憔维,如果沒有這個文件,IDE會報錯畏邢,因為微信框架把這個作為配置文件入口,
你只需創(chuàng)建這個文件检吆,里面寫個大括號就行
以后我們會在這里對整個小程序的全局配置舒萎。記錄了頁面組成,配置小程序的窗口 背景色蹭沛,配置導航條樣式臂寝,配置默認標題。

app.js

必須要有這個文件摊灭,沒有也是會報錯咆贬!但是這個文件創(chuàng)建一下就行 什么都不需要寫
以后我們可以在這個文件中監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量帚呼。

app.wxss

這個文件不是必須的掏缎。因為它只是個全局CSS樣式文件

app.wxml

這個也不是必須的,而且這個并不是指主界面哦~因為小程序的主頁面是靠在JSON文件中配置來決定的

有了這兩個文件你運行程序煤杀,IDE就不會報錯了眷蜈,也意味著這是最簡單的微信小程序

Paste_Image.png

Hello World

創(chuàng)建程序?qū)嵗?/h2>

app.js文件管理整個程序的生命周期,所以在里面添加如下代碼:(輸入App IDE會有提示)

App({
  onLaunch: function () {
    console.log('App Launch')
  },
  onShow: function () {
    console.log('App Show')
  },
  onHide: function () {
    console.log('App Hide')
  }
})

具體API解釋如下


Paste_Image.png

美化ActionBar

json文件負責配置ActionBar顏色沈自,我們只需要在里面添加如下代碼即可酌儒,下圖有參數(shù)說明!

Paste_Image.png
Paste_Image.png
{
    "window":{
        "navigationBarBackgroundColor": "#BBDEF8",
        "navigationBarTitleText": "Demo",
        "navigationBarTextStyle":"white"
    }
}
Paste_Image.png

現(xiàn)在看ActionBar是不是像那么回事了枯途!好接下來我們繼續(xù)寫我們第一個界面

美化頁面

美化頁面我們用到了 wxml 和 wxss文件
為了程序代碼結(jié)構(gòu)簡潔
我們需要在跟目錄下創(chuàng)建一個新文件夾 名字隨意忌怎,我們這里叫pages
然后在pages文件夾里再創(chuàng)建新文件夾 名字隨意 這里我們叫 index
然后我們創(chuàng)建index.wxml文件然后在里面寫入以下代碼

<view>
    <text class="window">Hello</text>
</view>

然后創(chuàng)建index.wxss文件然后在里面寫入以下代碼

.window{
  color=#4995fa;
}

然后我們創(chuàng)建 index.js文件
在文件中輸入如下代碼(輸入Page IDE會有提示)

Page({
  data:{
    // text:"這是一個頁面"
  },
  onLoad:function(options){
    // 頁面初始化 options為頁面跳轉(zhuǎn)所帶來的參數(shù)
  },
  onReady:function(){
    // 頁面渲染完成
  },
  onShow:function(){
    // 頁面顯示
  },
  onHide:function(){
    // 頁面隱藏
  },
  onUnload:function(){
    // 頁面關(guān)閉
  }
})

函數(shù)解釋如下:

Paste_Image.png

配置首頁

Json文件負責配置頁面路徑
所以我們在里面加入如下代碼
其中index的含義 其實就是指index.js文件
這里需要說明一點 pages 里面的路徑其實是指向js文件的
如果一個目錄下沒有該名稱的js文件是會報錯的!

"pages":[
  "pages/index/index"
],

完成了酪夷!我們來運行程序榴啸!

Paste_Image.png

超級Hello World

為了學習事件綁定,以及如何將數(shù)據(jù)在頁面上更新
我們來做個超級Hello World晚岭,就是我點擊文字插掂,能讓
它變色!

綁定事件

我們打開index.wxml 將里面代碼改成這樣

<view>
    <text catchtap="click" class="window">Hello</text>
</view>

其實也就是加了

  • catchtap="click"

這兩個屬性是什么意思呢 別著急 我會一一解釋

Paste_Image.png

上圖展示了事件的一些的屬性名稱腥例,這里需要注意紅框標注起來的內(nèi)容辅甥,區(qū)分出冒泡事件和非冒泡事件,其實冒泡事件就是需要往上面一層容器傳遞這個事件燎竖。

看了這圖 我們再來看 catchtap="click" 的含義
catch 代表非冒泡事件
tap 代表點擊事件
所以連在一起就是非冒泡點擊事件
那后面那個click是啥
click 其實只是個變量名字
我們在index.js需要用這個名字綁定接收事件的函數(shù)
我們打開index.js
然后添加如下函數(shù)

  click:function(){
    console.log("點擊了文字");
  },

添加完后代碼長這樣 紅框中就是 添加的這個代碼

Paste_Image.png

所以其實點擊事件的回調(diào)函數(shù) 就是 catchtap="click"
中的 click 后面加上 :function() 構(gòu)成的
現(xiàn)在我們來運行程序試試 然后點擊文字

Paste_Image.png

看是不是調(diào)用了 click:function 函數(shù) 并且打出了log

好接下來我們寫點擊一下變色的邏輯
那如何讓一個文字變色呢璃弄,當然是css
所以我們需要再index.wxss 中添加一個樣式

.window-red{
    color:#D23933;
}
Paste_Image.png

然后我們進入index.js文件
你會發(fā)現(xiàn)代碼里面有個 data:{} 它不是page生命周期函數(shù)
其實他是個變量的數(shù)組,這個里面申請的變量都可以在 wxml中使用

Paste_Image.png

我們在這里申請一個color

Paste_Image.png

color的值就是index.wxss中的樣式名稱
然后進入index.wxml中,將class中的值改成 {{color}}

Paste_Image.png

其實意思就是 將js文件中變量 color的值在這里使用
也就是值等于 window
然后我們再回到index.js文件
在最上面申請一個變量控制點擊
然后在click:function() 函數(shù)中添加如下代碼

 click:function(){
    console.log("點擊了文字");
      if(flag){
        color = "window-red";
        flag = false;
      }else{
        color = "window";
        flag = true;
      }
      this.setData({
        color
      });
  },

修改完后的代碼如圖

Paste_Image.png

其實就是在點擊是后 更換color變量的值 而更換的這個值其實就是樣式的名稱

更新界面數(shù)據(jù)

這里有個問題 我們更換完值 但是在wxml中不會立即生效
所以我們需要調(diào)用
this.setData()方法將值同步給wxml 讓它立即生效

好了我們運行程序 點擊Hello 看看是不是點一下 變一下顏色构回!

111111.gif

最后再補充一點 index目錄下也是可以配置 json文件的
也就是每個頁面都可以配置自己獨特的actionbar顏色等等
這里的配置會覆蓋 app.json文件的配置

最后附上github 地址 https://github.com/pwh0996/WXDemo.git
最后由于著急睡覺 夏块,所以錯別字比較多疏咐,后面整理望大家見諒

喜歡的話歡迎打賞~!F旯浑塞!我會繼續(xù)寫下去的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市政己,隨后出現(xiàn)的幾起案子酌壕,更是在濱河造成了極大的恐慌,老刑警劉巖歇由,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件卵牍,死亡現(xiàn)場離奇詭異,居然都是意外死亡沦泌,警方通過查閱死者的電腦和手機糊昙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來谢谦,“玉大人释牺,你說我怎么就攤上這事』赝欤” “怎么了船侧?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長厅各。 經(jīng)常有香客問我镜撩,道長,這世上最難降的妖魔是什么队塘? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任袁梗,我火速辦了婚禮,結(jié)果婚禮上憔古,老公的妹妹穿的比我還像新娘遮怜。我一直安慰自己,他們只是感情好鸿市,可當我...
    茶點故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布锯梁。 她就那樣靜靜地躺著,像睡著了一般焰情。 火紅的嫁衣襯著肌膚如雪陌凳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天内舟,我揣著相機與錄音合敦,去河邊找鬼。 笑死验游,一個胖子當著我的面吹牛充岛,可吹牛的內(nèi)容都是我干的保檐。 我是一名探鬼主播,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼崔梗,長吁一口氣:“原來是場噩夢啊……” “哼夜只!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蒜魄,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤扔亥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后权悟,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡推盛,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年峦阁,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耘成。...
    茶點故事閱讀 40,127評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡榔昔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瘪菌,到底是詐尸還是另有隱情撒会,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布师妙,位于F島的核電站诵肛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏默穴。R本人自食惡果不足惜怔檩,卻給世界環(huán)境...
    茶點故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓄诽。 院中可真熱鬧薛训,春花似錦、人聲如沸仑氛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽锯岖。三九已至介袜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間出吹,已是汗流浹背米酬。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留趋箩,地道東北人赃额。 一個月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓加派,卻偏偏與公主長得像,于是被迫代替她去往敵國和親跳芳。 傳聞我的和親對象是個殘疾皇子芍锦,可洞房花燭夜當晚...
    茶點故事閱讀 45,066評論 2 355

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