從零開始小程序
今天一不小心拿到了小程序的內(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破解版+安裝教程
知識準備
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就不會報錯了眷蜈,也意味著這是最簡單的微信小程序
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解釋如下
美化ActionBar
json文件負責配置ActionBar顏色沈自,我們只需要在里面添加如下代碼即可酌儒,下圖有參數(shù)說明!
{
"window":{
"navigationBarBackgroundColor": "#BBDEF8",
"navigationBarTitleText": "Demo",
"navigationBarTextStyle":"white"
}
}
現(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ù)解釋如下:
配置首頁
Json文件負責配置頁面路徑
所以我們在里面加入如下代碼
其中index的含義 其實就是指index.js文件
這里需要說明一點 pages 里面的路徑其實是指向js文件的
如果一個目錄下沒有該名稱的js文件是會報錯的!
"pages":[
"pages/index/index"
],
完成了酪夷!我們來運行程序榴啸!
超級Hello World
為了學習事件綁定,以及如何將數(shù)據(jù)在頁面上更新
我們來做個超級Hello World晚岭,就是我點擊文字插掂,能讓
它變色!
綁定事件
我們打開index.wxml 將里面代碼改成這樣
<view>
<text catchtap="click" class="window">Hello</text>
</view>
其實也就是加了
- catchtap="click"
這兩個屬性是什么意思呢 別著急 我會一一解釋
上圖展示了事件的一些的屬性名稱腥例,這里需要注意紅框標注起來的內(nèi)容辅甥,區(qū)分出冒泡事件和非冒泡事件,其實冒泡事件就是需要往上面一層容器傳遞這個事件燎竖。
看了這圖 我們再來看 catchtap="click" 的含義
catch 代表非冒泡事件
tap 代表點擊事件
所以連在一起就是非冒泡點擊事件
那后面那個click是啥
click 其實只是個變量名字
我們在index.js需要用這個名字綁定接收事件的函數(shù)
我們打開index.js
然后添加如下函數(shù)
click:function(){
console.log("點擊了文字");
},
添加完后代碼長這樣 紅框中就是 添加的這個代碼
所以其實點擊事件的回調(diào)函數(shù) 就是 catchtap="click"
中的 click 后面加上 :function() 構(gòu)成的
現(xiàn)在我們來運行程序試試 然后點擊文字
看是不是調(diào)用了 click:function 函數(shù) 并且打出了log
好接下來我們寫點擊一下變色的邏輯
那如何讓一個文字變色呢璃弄,當然是css
所以我們需要再index.wxss 中添加一個樣式
.window-red{
color:#D23933;
}
然后我們進入index.js文件
你會發(fā)現(xiàn)代碼里面有個 data:{} 它不是page生命周期函數(shù)
其實他是個變量的數(shù)組,這個里面申請的變量都可以在 wxml中使用
我們在這里申請一個color
color的值就是index.wxss中的樣式名稱
然后進入index.wxml中,將class中的值改成 {{color}}
其實意思就是 將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
});
},
修改完后的代碼如圖
其實就是在點擊是后 更換color變量的值 而更換的這個值其實就是樣式的名稱
更新界面數(shù)據(jù)
這里有個問題 我們更換完值 但是在wxml中不會立即生效
所以我們需要調(diào)用
this.setData()方法將值同步給wxml 讓它立即生效
好了我們運行程序 點擊Hello 看看是不是點一下 變一下顏色构回!
最后再補充一點 index目錄下也是可以配置 json文件的
也就是每個頁面都可以配置自己獨特的actionbar顏色等等
這里的配置會覆蓋 app.json文件的配置
最后附上github 地址 https://github.com/pwh0996/WXDemo.git
最后由于著急睡覺 夏块,所以錯別字比較多疏咐,后面整理望大家見諒
喜歡的話歡迎打賞~!F旯浑塞!我會繼續(xù)寫下去的