用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 实战教程 查看内容

微信小程序开发路上遇到的那些坑

Rolan 2017-5-24 00:24

微信野心越来越大,如今已经从开始简单的聊天工具发展成了一个互联网生态系统,网罗了目前各大互联网平台所具备的功能,最近IOS端微信上线的“搜一搜”和“看一看”更加证实了这一点,直接看下面这张图吧: 好了, ...

微信野心越来越大,如今已经从开始简单的聊天工具发展成了一个互联网生态系统,网罗了目前各大互联网平台所具备的功能,最近IOS端微信上线的“搜一搜”和“看一看”更加证实了这一点,直接看下面这张图吧:

好了,今天继续给大家分享这个牛逼的“削苹果”的小程序的相关知识。

一、使用本地存储时可以直接存储JSON,而无需先转成字符串

我们都知道,在HTML5中使用localStorage不能直接存储JSON格式数据,而是需要先通过JSON.stringify()将其转化成String格式的数据,这样才能存入到本地存储中。然而,小程序则不同,可以说更加贴心了,直接使用wx.setStorageSync()就能存储各种格式数据,当然也包括JSON,而不需要进行任何转化。

比如:

  1. //html版
  2. var obj = {
  3. a: 666,
  4. b: 'haha'
  5. };
  6. localStorage.setItem('obj',obj);
  7. console.log(localStorage.getItem('obj')); // [object Object]
  8. localStorage.setItem('obj',JSON.stringify(obj));
  9. console.log(localStorage.getItem('obj')); // {"a":666,"b":"haha"} 注:此处获得的只是个字符串,如需转换为JSON格式,需要使用JSON.parse()方法转换。
  1. //小程序版
  2. var obj = {
  3. a: 666,
  4. b: 'haha'
  5. };
  6. wx.setStorageSync('obj', obj);
  7. console.log(wx.getStorageSync('obj')); // {"a":666,"b":"haha"} 注:此处获得的是个JSON数据

二、不支持
标签,但标签支持转义字符 “\” ,所以可以使用 “\n” 让文字换行

可能是习惯了写网页吧,在刚开始接触小程序开发的时候总是会习惯性地使用
标签来换行,后面查文档才发现并没有这个标签,但是可以使用 “\n” 来换行。但是需要注意的是,必须在标签中使用 “\n” 才能有效换行哦~~

比如:

  1. <view>这是第一行\n这是第二行</view> <!--没有换行-->
  2. <text>这是第一行\n这是第二行</text> <!--成功换行-->

三、wx.navigateTo 和 wx.redirectTo 不允许跳转到 tabbar 页面,只能用 wx.switchTab 跳转到 tabbar 页面

关于 wx.switchTab 的功能,小程序开发文档是这样描述的:

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

若某页面在app.json中配置为tabBar页面,当从其他页面跳转到该页面时必须使用 wx.switchTab

比如:

  1. //app.json
  2. {
  3. "tabBar": {
  4. "list": [
  5. {
  6. "pagePath": "index",
  7. "text": "首页"
  8. },
  9. {
  10. "pagePath": "other",
  11. "text": "其他"
  12. }
  13. ]
  14. }
  15. }
  1. //js
  2. wx.switchTab({ //跳转至index页面
  3. url: '/index'
  4. })

四、分享的页面如果需要参数就一定要传参,并且path要写app.json中所配置的绝对路径

在做小程序分享这部分的时候,一开始经常会遇到页面不存在的情况,后面才发觉一般遇到这种情况都是因为使用 onShareAppMessage() 方法时path没有写对,这时只需要将app.json中配置该页面的路径直接复制过来就好啦!

  1. // app.json
  2. {
  3. "pages":[
  4. "pages/test/test" // ①
  5. ]
  6. }
  1. // test.js
  2. onShareAppMessage: function () {
  3. return {
  4. title: '自定义转发标题',
  5. path: 'pages/test/test?id=123', //此处所写路径与 ① 处相同,若页面需传参数,记得把参数带上
  6. }
  7. },

结束语: 在小程序开发过程中遇到的坑还是挺多的,在此就先分享这些了,若文中有不对的地方,还请各位大神多多指正哦~~

鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: Real 前端微站

相关阅读