熱點(diǎn)新聞
SublimeText 中文版 免費(fèi)版 破解版2025-04-01閱讀:1581
navicat premium 破解版 綠色版 免費(fèi)下載安裝 2025-04-01閱讀:1376
TPshop多語(yǔ)言商城系統(tǒng):助力外貿(mào)企業(yè)全球化布局2025-03-21閱讀:1250
搜豹Java 微服務(wù)多商戶商城系統(tǒng)2025-03-20閱讀:1314
xshell7 中文破解版 綠色免安裝 親測(cè)好用2025-03-16閱讀:1515
TP-Shop酒店預(yù)訂平臺(tái)解決方案2025-03-15閱讀:1378
短視頻矩陣管理系統(tǒng),矩陣管理讓效率翻倍2024-08-18閱讀:1592
短視頻seo矩陣系統(tǒng)源碼開(kāi)發(fā)與部署全解析2024-08-18閱讀:1591
2024年,做電商還有前途嗎?2024-04-28閱讀:1724
開(kāi)發(fā)一個(gè)微信分銷商城需要多少錢?2024-04-28閱讀:1557
作者:TPshop搜豹商城 發(fā)布時(shí)間:2019-12-16 17:57 閱讀:1921
今天一不小心拿到了小程序的內(nèi)測(cè)資格,為了不辜負(fù)微信團(tuán)隊(duì)的信任,我決定十一奮斗一把!不過(guò)話說(shuō)我可是一個(gè)Android工程師??!所以就讓我們從零開(kāi)始!
所以本文非常適合非前端工程師學(xué)習(xí)!哈哈!都說(shuō)小程序出來(lái)前端會(huì)搶移動(dòng)端飯碗,但是據(jù)我所知現(xiàn)在好多學(xué)習(xí)的都是移動(dòng)開(kāi)發(fā)工程師,誰(shuí)搶誰(shuí)的還不一定呢!
PS:表問(wèn)我怎么拿到小程序內(nèi)測(cè)資格的,有種東西叫內(nèi)部資源!
準(zhǔn)備工作
IDE搭建
知識(shí)準(zhǔn)備
從零開(kāi)始
app.js
app.json
app.wxml
app.wxss
Hello World
創(chuàng)建程序?qū)嵗?/p>
美化ActionBar
美化頁(yè)面
配置首頁(yè)
超級(jí)Hello World
事件綁定函數(shù)
更新界面數(shù)據(jù)
就不多說(shuō)了,沒(méi)有內(nèi)測(cè)碼去下載個(gè)破解版吧,我用了一下,學(xué)習(xí)完全夠了!IDE破解版+安裝教程

JavaScrip還是要看看的,推薦教程 廖雪峰大神的博客
HTML+CSS 大概知道是干啥的就行
js ---------- JavaScrip文件
json -------- 項(xiàng)目配置文件,負(fù)責(zé)窗口顏色等等
wxml ------- 類似HTML文件
wxss ------- 類似CSS文件
在根目錄下用app來(lái)命名的這四中類型的文件,就是程序入口文件。
必須要有這個(gè)文件,如果沒(méi)有這個(gè)文件,IDE會(huì)報(bào)錯(cuò),因?yàn)槲⑿趴蚣馨堰@個(gè)作為配置文件入口,
你只需創(chuàng)建這個(gè)文件,里面寫個(gè)大括號(hào)就行
以后我們會(huì)在這里對(duì)整個(gè)小程序的全局配置。記錄了頁(yè)面組成,配置小程序的窗口 背景色,配置導(dǎo)航條樣式,配置默認(rèn)標(biāo)題。
必須要有這個(gè)文件,沒(méi)有也是會(huì)報(bào)錯(cuò)!但是這個(gè)文件創(chuàng)建一下就行 什么都不需要寫
以后我們可以在這個(gè)文件中監(jiān)聽(tīng)并處理小程序的生命周期函數(shù)、聲明全局變量。
這個(gè)文件不是必須的。因?yàn)樗皇莻€(gè)全局CSS樣式文件
這個(gè)也不是必須的,而且這個(gè)并不是指主界面哦~因?yàn)樾〕绦虻闹黜?yè)面是靠在JSON文件中配置來(lái)決定的
有了這兩個(gè)文件你運(yùn)行程序,IDE就不會(huì)報(bào)錯(cuò)了,也意味著這是最簡(jiǎn)單的微信小程序

app.js文件管理整個(gè)程序的生命周期,所以在里面添加如下代碼:(輸入App IDE會(huì)有提示)
App({
onLaunch: function () {
console.log('App Launch')
},
onShow: function () {
console.log('App Show')
},
onHide: function () {
console.log('App Hide')
}})具體API解釋如下

Paste_Image.png
json文件負(fù)責(zé)配置ActionBar顏色,我們只需要在里面添加如下代碼即可,下圖有參數(shù)說(shuō)明!

Paste_Image.png

Paste_Image.png
{
"window":{
"navigationBarBackgroundColor": "#BBDEF8",
"navigationBarTitleText": "Demo",
"navigationBarTextStyle":"white"
}}
Paste_Image.png
現(xiàn)在看ActionBar是不是像那么回事了!好接下來(lái)我們繼續(xù)寫我們第一個(gè)界面
美化頁(yè)面我們用到了 wxml 和 wxss文件
為了程序代碼結(jié)構(gòu)簡(jiǎn)潔
我們需要在跟目錄下創(chuàng)建一個(gè)新文件夾 名字隨意,我們這里叫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會(huì)有提示)
Page({
data:{
// text:"這是一個(gè)頁(yè)面"
},
onLoad:function(options){
// 頁(yè)面初始化 options為頁(yè)面跳轉(zhuǎn)所帶來(lái)的參數(shù)
},
onReady:function(){
// 頁(yè)面渲染完成
},
onShow:function(){
// 頁(yè)面顯示
},
onHide:function(){
// 頁(yè)面隱藏
},
onUnload:function(){
// 頁(yè)面關(guān)閉
}})函數(shù)解釋如下:

Json文件負(fù)責(zé)配置頁(yè)面路徑
所以我們?cè)诶锩婕尤肴缦麓a
其中index的含義 其實(shí)就是指index.js文件
這里需要說(shuō)明一點(diǎn) pages 里面的路徑其實(shí)是指向js文件的
如果一個(gè)目錄下沒(méi)有該名稱的js文件是會(huì)報(bào)錯(cuò)的!
"pages":[ "pages/index/index" ],
完成了!我們來(lái)運(yùn)行程序!

為了學(xué)習(xí)事件綁定,以及如何將數(shù)據(jù)在頁(yè)面上更新
我們來(lái)做個(gè)超級(jí)Hello World,就是我點(diǎn)擊文字,能讓
它變色!
我們打開(kāi)index.wxml 將里面代碼改成這樣
<view> <text catchtap="click" class="window">Hello</text></view>
其實(shí)也就是加了
catchtap="click"
這兩個(gè)屬性是什么意思呢 別著急 我會(huì)一一解釋

Paste_Image.png
上圖展示了事件的一些的屬性名稱,這里需要注意紅框標(biāo)注起來(lái)的內(nèi)容,區(qū)分出冒泡事件和非冒泡事件,其實(shí)冒泡事件就是需要往上面一層容器傳遞這個(gè)事件。
看了這圖 我們?cè)賮?lái)看 catchtap="click" 的含義
catch 代表非冒泡事件
tap 代表點(diǎn)擊事件
所以連在一起就是非冒泡點(diǎn)擊事件
那后面那個(gè)click是啥
click 其實(shí)只是個(gè)變量名字
我們?cè)趇ndex.js需要用這個(gè)名字綁定接收事件的函數(shù)
我們打開(kāi)index.js
然后添加如下函數(shù)
click:function(){
console.log("點(diǎn)擊了文字");
},添加完后代碼長(zhǎng)這樣 紅框中就是 添加的這個(gè)代碼

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

看是不是調(diào)用了 click:function 函數(shù) 并且打出了log
好接下來(lái)我們寫點(diǎn)擊一下變色的邏輯
那如何讓一個(gè)文字變色呢,當(dāng)然是css
所以我們需要再index.wxss 中添加一個(gè)樣式
.window-red{
color:#D23933;}
Paste_Image.png
然后我們進(jìn)入index.js文件
你會(huì)發(fā)現(xiàn)代碼里面有個(gè) data:{} 它不是page生命周期函數(shù)
其實(shí)他是個(gè)變量的數(shù)組,這個(gè)里面申請(qǐng)的變量都可以在 wxml中使用

Paste_Image.png
我們?cè)谶@里申請(qǐng)一個(gè)color

Paste_Image.png
color的值就是index.wxss中的樣式名稱
然后進(jìn)入index.wxml中,將class中的值改成 {{color}}

Paste_Image.png
其實(shí)意思就是 將js文件中變量 color的值在這里使用
也就是值等于 window
然后我們?cè)倩氐絠ndex.js文件
在最上面申請(qǐng)一個(gè)變量控制點(diǎn)擊
然后在click:function() 函數(shù)中添加如下代碼
click:function(){
console.log("點(diǎn)擊了文字");
if(flag){
color = "window-red";
flag = false;
}else{
color = "window";
flag = true;
}
this.setData({
color });
},修改完后的代碼如圖

其實(shí)就是在點(diǎn)擊是后 更換color變量的值 而更換的這個(gè)值其實(shí)就是樣式的名稱
這里有個(gè)問(wèn)題 我們更換完值 但是在wxml中不會(huì)立即生效
所以我們需要調(diào)用
this.setData()方法將值同步給wxml 讓它立即生效
好了我們運(yùn)行程序 點(diǎn)擊Hello 看看是不是點(diǎn)一下 變一下顏色!

最后再補(bǔ)充一點(diǎn) index目錄下也是可以配置 json文件的
也就是每個(gè)頁(yè)面都可以配置自己獨(dú)特的actionbar顏色等等
這里的配置會(huì)覆蓋 app.json文件的配置
最后附上github 地址 https://github.com/pwh0996/WXDemo.git
作者:蒲文輝
鏈接:https://www.jianshu.com/p/aaef5ceb3936
來(lái)源:簡(jiǎn)書(shū)
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。