本篇文章給大家?guī)砹岁P(guān)于微信小程序的相關(guān)知識(shí),其中主要介紹了一些常見的面試題,包括了怎么在小程序中獲取用戶信息、小程序中怎么實(shí)現(xiàn)父子組件傳參,下面一起來看一下,希望對(duì)大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
1.在小程序中如何獲取用戶信息?
(1)小程序?yàn)樯?jí)前:可使用wx.getUserInfo直接獲取用戶信息,目前逐漸不能使用該方法了
(2.)升級(jí)后,可使用以下方法獲取用戶的賬戶信息:
(1)使用button,設(shè)置其屬性:open-type="getUserInfo" <button open-type="getUserInfo">獲取用戶信息</button>
2.小程序中如何實(shí)現(xiàn)分享功能,微信有什么限制?
發(fā)送給朋友:onShareAppMessage(Object object);
分享到朋友圈: onShareTimeline();
限制:
“單頁模式”下,一些組件或接口存在一定限制:
1、頁面無登錄態(tài),與登錄相關(guān)的接口,入wx.login()均不可用;
2、不允許跳轉(zhuǎn)其他頁面,包括跳轉(zhuǎn)小程序頁面,跳轉(zhuǎn)其他小程序,跳轉(zhuǎn)微信原生頁面;
3、不允許橫屏,頁面包含的tabbar不會(huì)渲染,包括自定的tabbar;
4、 本地儲(chǔ)存與小程序普通模式不共用;
3.你的小程序是如何上線的,審核大概需要多久?
(1)在微信web開發(fā)者工具里找到項(xiàng)目,并且設(shè)置好服務(wù)器的域名,如果你的小程序沒有用到外網(wǎng)請(qǐng)求,可以不用配置服務(wù)器。配置好服務(wù)器,先預(yù)覽一下,看看有沒有問題,如果沒有問題的話,點(diǎn)擊上傳。
(2)上傳代碼之后,在微信公眾號(hào)平臺(tái)登錄微信小程序后臺(tái),點(diǎn)擊開發(fā)管理,就可以看到剛剛上傳的代碼,點(diǎn)擊提交審核,就可以了。接下來就是等待微信官方的審核。
(3)一般都是1~3天左右
4.小程序中如何用像Vant一樣的第三方組件?
(1)打開cmd,進(jìn)入你的項(xiàng)目中,在cmd中執(zhí)行:npm init,初始化項(xiàng)目
(2)然后安裝Vant
(3)打開小程序客戶端,選擇【工具】菜單 -> 選擇【構(gòu)建 npm】命令
5.小程序如何實(shí)現(xiàn)父子組件傳參?
1、父組件給子組件傳值
在子組件中定義屬性
properties: { // 復(fù)雜定義 name:{ type: String, value:'張三豐' }, // 簡(jiǎn)單定義 name2:String},
父組件在引用子組件的時(shí)候通過設(shè)置屬性的方式給子組件傳值
2、 子組件給父組件傳值
在組件中綁定一個(gè)自定義事件
// 引用了自定義的組件, 綁定了myevent事件,這個(gè)事件對(duì)應(yīng)的是parentEvent方法 <test-button name="張無忌" bindmyevent="parentEvent"></test-button>
在子組件中觸發(fā)這個(gè)事件,可以給父組件傳值。
子組件中通過triggerEvent觸發(fā)事件
methods: { 方法名字: function(){ var myEventDetail = {} // detail對(duì)象,提供給事件監(jiān)聽函數(shù) var myEventOption = {} // 觸發(fā)事件的選項(xiàng) this.triggerEvent('myevent', myEventDetail, myEventOption) } }
6.小程序中APP的生命周期有哪些?
onLaunch(options)
小程序被加載完畢的時(shí)候調(diào)用。這個(gè)方法一般用來做一些初始化的事情。比如獲取用戶 信息、獲取歷史緩存信息、獲取小程序打開來源等。
onShow(options)
小程序啟動(dòng),或從后臺(tái)進(jìn)入前臺(tái)顯示時(shí)調(diào)用。如果想要在小程序每次進(jìn)入到前臺(tái)的時(shí)候 都執(zhí)行一些事情,那么可以把代碼放在這個(gè)里面。比如一些實(shí)時(shí)動(dòng)態(tài)更改的數(shù)據(jù),用戶每次進(jìn)來都要從服務(wù)器更新,那么我們就可以在這個(gè)里面做。
onHide()
小程序被切換到后臺(tái)(包括微信自身被切換到后臺(tái)或者小程序暫時(shí)被切換到后臺(tái)時(shí))??梢栽谶@個(gè)方法中做一些數(shù)據(jù)的保存。
onError(String error)
小程序發(fā)生腳本錯(cuò)誤,或者 api 調(diào)用失敗時(shí)觸發(fā)。在小程序發(fā)生錯(cuò)誤的時(shí)候,會(huì)把錯(cuò)誤 信息發(fā)送到這個(gè)函數(shù)中,所以可以在這個(gè)函數(shù)中做一些錯(cuò)誤收集。
onPageNotFound(Object)
小程序要打開的頁面不存在時(shí)觸發(fā)。一般在代碼更新的時(shí)候,有些頁面被刪除了,但是 其他地方?jīng)]有改過來的情況下會(huì)發(fā)生這種情況,或者一些活動(dòng)頁面,活動(dòng)結(jié)束后被關(guān)掉了。也可以 在這個(gè)里面做一些錯(cuò)誤的收集和頁面的重新跳轉(zhuǎn)。
getApp()
獲取當(dāng)前的 app 對(duì)象。一般在app.js外的地方調(diào)用。在app.js內(nèi)部可以使用this獲得當(dāng)前的大對(duì)象;在外面要用定義在app.js的全局?jǐn)?shù)據(jù)時(shí),要用getApp()。
7.小程序中Page的生命周期有哪些?
onLoad()、onReady()、onShow()、onHide()、onUnload()五個(gè)頁面生命周期函數(shù),其分別是頁面加載、就緒、渲染、隱藏、卸載時(shí)被調(diào)用。
8.小程序如何定義事件?
在小程序中綁定事件可以以bind開頭然后跟上事件的類型,如bindtap綁定一個(gè)點(diǎn)擊事件,對(duì)應(yīng)的值是一個(gè)字符串,需要在page構(gòu)造器中定義同名函數(shù),每次觸發(fā)事件之后就會(huì)執(zhí)行對(duì)應(yīng)函數(shù)的內(nèi)容。
9.如何阻止小程序的事件冒泡?
在小程序中除了通過bind之外,還可以通過catch進(jìn)行事件綁定,通過catch綁定的事件不會(huì)觸發(fā)事件冒泡。
10.如何讓事件在捕獲階段觸發(fā)?
事件的觸發(fā)分為兩個(gè)階段,首先是捕獲階段,其次是冒泡階段。默認(rèn)情況下事件都是在冒泡階段觸發(fā)。如果希望事件可以在捕獲階段觸發(fā),可以通過capture-bind進(jìn)行事件綁定。
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】