小程序開發十問

第一問:小程序頁面間如何傳遞數據?

A 跳轉到 B 時,能夠經過 url 中 query 傳遞數據。css

B 頁面 onLoad(options) 方法中的 options 會包含 query 中的 key-value 的內容。html

若是須要傳遞如 json 或數組這樣的結構化數據,咱們能夠先把結構化數據作 string 化和 encode 一下後,再經過該方式傳遞。vue

encodeURIComponent(JSON.stringify(xxx))
複製代碼

在 B 頁面中,得到內容後,經過如下方法,解析出數據。git

JSON.parse(decodeURIComponent(xxx))
複製代碼

第二問:頁面間如何回傳數據?

好比 A 打開了 B,B 中一些數據須要傳送到 A。能夠先獲取前一個頁面實例,而後直接調用前一個頁面方法進行數據傳輸。github

const pages = getCurrentPages();
const prevPage = pages[pages.length - 2];
prevPage.methodOfPrevPage(data);
複製代碼

第三問:小程序如何與服務端保持會話?

因小程序框架並沒有 Cookie 管理機制,而且小程序也未提供向 WebView 設置 Cookie 的方法。因此若是咱們想繼續使用 Session-Cookie 機制,則須要本身實現一套,咱們能夠簡單的提取出 set-cookie 頭中有效的 cookie 內容,而後存儲在內存和本地中,在下一次請求的時候,把這些 cookie 組裝起來使用。當涉及到 WebView 時,咱們能夠經過 query 的方法,把這些 Cookie 內容傳給 Web 端,用來維持和服務端的有效會話。json

固然你也能夠採用 Token 機制,與服務端保持會話。小程序

第四問:如何調用子組件中的方法?

咱們能夠在自定義組件中加上一個 id,而後在 js 代碼中使用以下方法:微信小程序

this.selectComponent('#id').methodOfComponent(data);
複製代碼

第五問:子組件中如何調用父組件的方法?

使用組件事件方法,詳細文檔:《組件事件文檔》api

在父組件中使用子組件時,能夠定義一個數組

bind:customMethod='parentMethod'
複製代碼

而後子組件中,可使用如下代碼調用父類的方法

this.triggerEvent('customMethod', data);
複製代碼

第六問:小程序如何進行數據分析?

小程序後臺提供了數據分析能力,具體可見:《小程序數據分析文檔》

而且若是須要把數據接入到本身的服務中,也能夠經過調用微信接口的方式拿到數據:《小程序數據分析接口文檔》

若是須要自定義數據,咱們能夠在小程序中調用方法:

wx.reportAnalytics(eventName, data)
複製代碼

不過在使用前,須要在小程序管理後臺自定義分析中新建事件,配置好事件名與字段。另外自定義事件的數據沒法經過接口得到,

因此若是你須要在本身的服務器上也分享自定義事件,那隻能本身開發幾個接口了。

第七問:微信小程序的二維碼生成有次數限制嗎?

微信提供了三種方式生成微信二維碼,詳情可查看:《小程序二維碼相關文檔》

此三種類型二維碼都須要服務端端經過 access_token 調用微信接口生成。而且其中 接口B僅能生成已發佈的小程序頁面的二維碼,因此你的小程序先得上線後才能測試該功能。有點坑。

其中接口A、和接口C有次數限制,接口A加上接口C,總共生成的碼數量限制爲100,000。

接口 B 次數無限制,但調用頻率有限制,5000次/分鐘。

接口 A 和接口 C 相對接口 B 能夠傳入一個最大長度不超過 128 字節的 path,你能夠在 path 中經過 query 的形式傳入參數。

接口 B 相對 A、C,把 PATH 拆成了,page 和 scene,其中 scene 最大爲 32 個字符。能夠在 page 的 onLoad 方法中經過 options.scene 方式得到這個 scene。

第八問:普通二維碼能夠打開小程序嗎?

能夠,須要在小程序管理後臺添加,添加後,便可掃描如下內容的二維碼就可跳轉到小程序的指定頁面了。

詳情可查看:《小程序普通二維碼文檔》

第九問:小程序版本的兼容狀況如何?

小程序運行在微信上,而且小程序的基礎庫隨微信版本而發版。因此不一樣的微信版本會對小程序的表現有所影響。 有關各個版本的基礎庫的覆蓋率能夠查看如下連接。 《小程序基礎庫版本介紹》

目前微信推薦的最低基礎庫版本,能夠覆蓋 80% 以上的微信用戶。另外低版本的微信在使用使用高基礎庫版本的小程序會提示升級微信。

第十問:小程序代碼能夠運行在瀏覽器中嗎?

小程序使用的是本身的一套框架,只是借用了目前主流的 html + js + css 的開發形式,因此小程序代碼自己是沒法直接運行在瀏覽器中的。

目前美團開源了一套本身的方案:mpvue ,使用 vue 的形式來編寫小程序。而且能夠經過改變打包配置的方式,讓同一套代碼能夠同時運行在小程序和瀏覽器中。

最近在公司作了幾款小程序,對小程序開發有了一些經驗,若是你對小程序開發有更多疑問,能夠加入小程序開發者交流微信羣,一塊兒交流學習。

相關文章
相關標籤/搜索