小程序开发十问

第一问:小程序页面间如何传递数据?

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 的形式来编写小程序。而且能够经过改变打包配置的方式,让同一套代码能够同时运行在小程序和浏览器中。

最近在公司作了几款小程序,对小程序开发有了一些经验,若是你对小程序开发有更多疑问,能够加入小程序开发者交流微信群,一块儿交流学习。

相关文章
相关标签/搜索