1. 程式人生 > >微信小程式開發教程--從零開始

微信小程式開發教程--從零開始

從零開始小程式

今天一不小心拿到了小程式的內測資格,為了不辜負微信團隊的信任,我決定十一奮鬥一把!不過話說我可是一個Android工程師啊!所以就讓我們從零開始! 所以本文非常適合非前端工程師學習!哈哈!都說小程式出來前端會搶移動端飯碗,但是據我所知現在好多學習的都是移動開發工程師,誰搶誰的還不一定呢! PS:表問我怎麼拿到小程式內測資格的,有種東西叫內部資源!

  • 準備工作
    • IDE搭建
    • 知識準備
  • 從零開始
    • app.js
    • app.json
    • app.wxml
    • app.wxss
  • Hello World
    • 建立程式例項
    • 美化ActionBar
    • 美化頁面
    • 配置首頁
  • 超級Hello World
    • 事件繫結函式
    • 更新介面資料

準備工作

IDE搭建

就不多說了,沒有內測碼去下載個破解版吧,我用了一下,學習完全夠了!IDE破解版+安裝教程

圖片發自簡書App

知識準備

JavaScrip還是要看看的,推薦教程 廖雪峰大神的部落格 HTML+CSS 大概知道是幹啥的就行

從零開始

微信小程式中就四種類型的檔案

  • js ---------- JavaScrip檔案
  • json -------- 專案配置檔案,負責視窗顏色等等
  • wxml ------- 類似HTML檔案
  • wxss ------- 類似CSS檔案

在根目錄下用app來命名的這四中型別的檔案,就是程式入口檔案。

app.json

必須要有這個檔案,如果沒有這個檔案,IDE會報錯,因為微信框架把這個作為配置檔案入口, 你只需建立這個檔案,裡面寫個大括號就行 以後我們會在這裡對整個小程式的全域性配置。記錄了頁面組成,配置小程式的視窗 背景色,配置導航條樣式,配置預設標題。

app.js

必須要有這個檔案,沒有也是會報錯!但是這個檔案建立一下就行 什麼都不需要寫 以後我們可以在這個檔案中監聽並處理小程式的生命週期函式、宣告全域性變數。

app.wxss

這個檔案不是必須的。因為它只是個全域性CSS樣式檔案

app.wxml

這個也不是必須的,而且這個並不是指主介面哦~因為小程式的主頁面是靠在JSON檔案中配置來決定的

有了這兩個檔案你執行程式,IDE就不會報錯了,也意味著這是最簡單的微信小程式

Paste_Image.png

Hello World

建立程式例項

app.js檔案管理整個程式的生命週期,所以在裡面新增如下程式碼:(輸入App IDE會有提示)

  1. App({

  2. onLaunch: function () {

  3. console.log('App Launch')

  4. },

  5. onShow: function () {

  6. console.log('App Show')

  7. },

  8. onHide: function () {

  9. console.log('App Hide')

  10. }

  11. })

具體API解釋如下

Paste_Image.png

美化ActionBar

json檔案負責配置ActionBar顏色,我們只需要在裡面新增如下程式碼即可,下圖有引數說明!

Paste_Image.png

Paste_Image.png

  1. {

  2. "window":{

  3. "navigationBarBackgroundColor": "#BBDEF8",

  4. "navigationBarTitleText": "Demo",

  5. "navigationBarTextStyle":"white"

  6. }

  7. }

Paste_Image.png

現在看ActionBar是不是像那麼回事了!好接下來我們繼續寫我們第一個介面

美化頁面

美化頁面我們用到了 wxml 和 wxss檔案 為了程式程式碼結構簡潔 我們需要在跟目錄下建立一個新資料夾 名字隨意,我們這裡叫pages 然後在pages資料夾裡再建立新資料夾 名字隨意 這裡我們叫 index 然後我們建立index.wxml檔案然後在裡面寫入以下程式碼

  1. <view>

  2. <text class="window">Hello</text>

  3. </view>

然後建立index.wxss檔案然後在裡面寫入以下程式碼

  1. .window{

  2. color=#4995fa;

  3. }

然後我們建立 index.js檔案 在檔案中輸入如下程式碼(輸入Page IDE會有提示)

  1. Page({

  2. data:{

  3. // text:"這是一個頁面"

  4. },

  5. onLoad:function(options){

  6. // 頁面初始化 options為頁面跳轉所帶來的引數

  7. },

  8. onReady:function(){

  9. // 頁面渲染完成

  10. },

  11. onShow:function(){

  12. // 頁面顯示

  13. },

  14. onHide:function(){

  15. // 頁面隱藏

  16. },

  17. onUnload:function(){

  18. // 頁面關閉

  19. }

  20. })

函式解釋如下:

Paste_Image.png

配置首頁

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

  1. "pages":[

  2. "pages/index/index"

  3. ],

完成了!我們來執行程式!

Paste_Image.png

超級Hello World

為了學習事件繫結,以及如何將資料在頁面上更新 我們來做個超級Hello World,就是我點選文字,能讓 它變色!

繫結事件

我們開啟index.wxml 將裡面程式碼改成這樣

  1. <view>

  2. <text catchtap="click" class="window">Hello</text>

  3. </view>

其實也就是加了

  • catchtap="click"

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

Paste_Image.png

上圖展示了事件的一些的屬性名稱,這裡需要注意紅框標註起來的內容,區分出冒泡事件和非冒泡事件,其實冒泡事件就是需要往上面一層容器傳遞這個事件。

看了這圖 我們再來看 catchtap="click" 的含義 catch 代表非冒泡事件 tap 代表點選事件 所以連在一起就是非冒泡點選事件 那後面那個click是啥 click 其實只是個變數名字 我們在index.js需要用這個名字繫結接收事件的函式 我們開啟index.js 然後新增如下函式

  1. click:function(){

  2. console.log("點選了文字");

  3. },

新增完後代碼長這樣 紅框中就是 新增的這個程式碼

Paste_Image.png

所以其實點選事件的回撥函式 就是 catchtap="click" 中的 click 後面加上 :function() 構成的 現在我們來執行程式試試 然後點選文字

Paste_Image.png

看是不是呼叫了 click:function 函式 並且打出了log

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

  1. .window-red{

  2. color:#D23933;

  3. }

Paste_Image.png

然後我們進入index.js檔案 你會發現程式碼裡面有個 data:{} 它不是page生命週期函式 其實他是個變數的陣列,這個裡面申請的變數都可以在 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() 函式中新增如下程式碼

  1. click:function(){

  2. console.log("點選了文字");

  3. if(flag){

  4. color = "window-red";

  5. flag = false;

  6. }else{

  7. color = "window";

  8. flag = true;

  9. }

  10. this.setData({

  11. color

  12. });

  13. },

修改完後的程式碼如圖

Paste_Image.png

其實就是在點選是後 更換color變數的值 而更換的這個值其實就是樣式的名稱

更新介面資料

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

好了我們執行程式 點選Hello 看看是不是點一下 變一下顏色!

111111.gif

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

喜歡的話歡迎打賞~!!!我會繼續寫下去的

作者:蒲文輝 連結:https://www.jianshu.com/p/aaef5ceb3936 來源:簡書 著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。 --------------------- 本文來自 Duan_Super 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/Duan_Super/article/details/79390683?utm_source=copy