如今面試,都會問,你會不會小程序呀,你作沒作太小程序呀,其實小程序很簡單,只要嚴格按照小程序的官網來開發就行,一些經常使用api呀,組件呀,小程序都幫你作好了,你只須要負責用就好了。今天咱們來講一下小程序面試中可能遇到的問題。html
咱們能夠看到在項目的根目錄有一個 app.json、app.js
和 project.config.json
咱們依次來講明一下它們的用途。
面試
首先咱們看一下小程序的目錄結構,下面是小程序目錄結構的截圖;json
必需要有這個文件,若是沒有這個文件,項目沒法運行,由於微信小程序把這個做爲配置文件入口,是當前小程序的全局配置,包括了小程序的全部頁面路徑、界面表現、網絡超時時間、底部 tab 等。
小程序
必需要有這個文件,沒有也會報錯!這個文件建立一下就行,能夠什麼都不寫,之後咱們能夠在這個文件中監聽並處理小程序的生命週期函數、聲明全局變量。
微信小程序
小程序工具的個性化配置,例如界面顏色、編譯配置等等。api
WXML模板:和HTML很是像,WXML由標籤屬性等構成,可是和HTML也有不少不同的地方,例如:bash
div
, p
, span
,而小程序的 WXML
用的標籤是 view
, button
, text
等等wx:if
這樣的屬性以及 {{ }}
這樣的表達式WXSS 樣式:WXSS 具備 CSS 大部分的特性,小程序在 WXSS 也作了一些擴充和修改。微信
app.wxss
做爲全局樣式,會做用於當前小程序的全部頁面,局部頁面樣式 page.wxss
僅對當前頁面生效。WXSS
僅支持部分 CSS
選擇器JS 交互邏輯:一個服務僅僅只有界面展現是不夠的,還須要和用戶作交互:響應用戶的點擊、獲取用戶的位置等等。在小程序裏邊,咱們就經過編寫 JS
腳本文件來處理用戶的操做。網絡
頁面配置page.json:獨立定義每一個頁面的一些屬性,例如頂部顏色、是否容許下拉刷新等等。app
事件綁定的寫法同組件的屬性,以 key、value 的形式。
bind
或catch
開頭,而後跟上事件的類型,如bindtap
、catchtouchstart
。bind
事件綁定不會阻止冒泡事件向上冒泡,catch
事件綁定能夠阻止冒泡事件向上冒泡。
監聽用戶下拉刷新事件。
app.json
的window
選項中或頁面配置中開啓enablePullDownRefresh
。wx.startPullDownRefresh
觸發下拉刷新,調用後觸發下拉刷新動畫,效果與用戶手動下拉刷新一致。wx.stopPullDownRefresh
能夠中止當前頁面的下拉刷新。函數用於將數據從邏輯層發送到視圖層(異步)
this.setData(Object data, Function callback)複製代碼
參數說明:
data:傳一個object,是此次要改變的數據
callback:傳一個function,是setData引發的界面更新渲染完畢後的回調函數
打開新頁面:調用 API wx.navigateTo
或使用組件 < navigator open-type="navigateTo"/>
頁面重定向:調用 API wx.redirectTo
或使用組件 <navigator open-type="redirectTo"/>
頁面返回:調用 API wx.navigateBack
或使用組件<navigator open-type="navigateBack">
或用戶按左上角返回按鈕
Tab 切換:調用 API wx.switchTab
或使用組件 <navigator open-type="switchTab"/>
或用戶切換 Tab
重啓動:調用 API wx.reLaunch
或使用組件 <navigator open-type="reLaunch"/>
HTTPS 請求(wx.request
)、上傳文件(wx.uploadFile
)、下載文件(wx.downloadFile
) 和 WebSocket 通訊(wx.connectSocket
)