由于前段时间比较忙,已经有半个多月没有更新文章了。最近微信小程序频繁更新,越来越开放,所以今天我们将继续探讨小程序。

在微信小程序开发之路(一)中讲到微信小程序的单向绑定以及使用setData()方法来更新View,这对于新手也算是个“坑”了,很容易出错。下面将继续分享我在开发小程序过程中所遇到的“坑”。

一、onLaunch方法只能在app.js中的App()中定义

这个其实熟悉文档的话就很好理解了,onLaunch方法只在小程序初始化完成时触发,全局只触发一次,所以在页面的Page()中写这玩意儿是无效的,当然也不会报错,这才导致新手容易犯错。

二、局部js文件若要调用app.js中的方法或获取其中的数据,可通过getApp()的方式来获取

首先需要强调的是,app.js虽然说可以定义全局方法或数据,但是在局部js文件中却无法直接调用。其次还需注意的是,在app.js中的全局方法必须要在App()中定义,否则无法在局部调用。简单举个栗子吧~~~

//app.js
App({b(){console.log("b");},globalData:{ccc: 'ccc'}
})function a(){console.log('a');
}
//pages/test/test.js
var app = getApp();
Page({data:{},onLoad:function(options){// a();     // 报错// app.a();     // 报错app.b();     // bconsole.log(app.globalData.ccc);    // ccc}
})

其实这样也不难理解,我们通过getApp方法可以直接获取小程序实例,然后就能很开心的调用和获取App()中定义的方法和数据咯~~

三、若项目中需要使用登录接口wx.login(),在使用微信开发工具建项目时须填入AppID

四、支持JSON.stringigy()和JSON.parse()这两个方法,但需要注意的是,使用JSON.parse()时传入的参数必须是标准的JSON格式的字符串

刚开始以为小程序不支持JSON.parse()方法,因为在实际用的时候报错了,后来才发现原来是自己JS技术不过关。在使用该方法时,要特别注意传入的参数格式,举个例子:

// pages/test/test.js
var app = getApp();
Page({data:{},onLoad:function(options){console.log(JSON.stringify({aaa: 111}));   //  这个方法倒是可以传入普通的JS对象字面量,返回{"aaa":111},这是个字符串console.log(JSON.parse('{"aaa": 111}'));     //  标准的JSON格式的字符串,返回{aaa: 111},这是个对象// console.log(JSON.parse("{'aaa': 111}"));    //  报错// console.log(JSON.parse("{aaa: 111}"));      //  报错}
})

其实就是考验对这两个JS方法的掌握,跟小程序没啥关系,对这两个方法特别熟悉的可以直接跳过。

结束语:其实不管学什么,都不能仅仅只停留在理论,否则理论再好你也不一定掌握,学习的精髓其实在于多看、多练和多写。比如你看完本文,或许你觉得某个地方可能不太正确,这时候你就可以自己写个Demo试一试,最后你可能觉得这个知识点很好可又担心记不住,这时候你就应该把它写下来。今天就先分享到这里,后续会继续分享更多关于小程序的干货哦~~

微信小程序开发之路(二)相关推荐

  1. 微信小程序开发之路(十三)正式开工--设计ER图与数据库的创建

    微信小程序开发之路(十三)正式开工–设计ER图数据库的创建 先制作班费公是示功能 我们在项目的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为: DATABASES = ...

  2. 微信小程序开发之路(十一)微信小程序第一个计算器项目搭建(centos8)

    微信小程序开发之路(十一)计算器项目搭建(centos8) pip install django django-admin startproject weixintest cd weixintest ...

  3. 微信小程序开发之路(一)

    今天来为大家讲讲微信小程序,大概讲一下在开发小程序时需要注意的几个点.在开始之前先了解下微信小程序是个什么东西吧. 微信小程序(weixinxiaochengxu),简称小程序,缩写XCX,英文名mi ...

  4. 微信小程序-开发实战(二)

    刚刚写了小程序入门没几天,小程序就开放个人开发者资格,感觉为我而来啊 \(≧▽≦)/.迫不及待的去注册,准备将之前的处女作传上去体验一把,结果卡在了服务器配置上:免费的果然不靠谱/(ㄒoㄒ)/~~,后 ...

  5. 微信小程序开发入门指南二

    上篇文章我们已经一起成功创建了一个Hello World级别的微信小程序. 那么这篇文章我们将详细讲解下这个例子中的相关代码部分. 代码构成 正如你所看到的,这个项目中生成了很多不同类型的文件. .j ...

  6. 微信小程序开发中的二三事之网易云信IMSDK DEMO

    本文由作者邹永胜授权网易云社区发布. 简介 为了更好的展示我们即时通讯SDK强悍的能力,网易云信IM SDK微信小程序DEMO的开发就提上了日程.用产品的话说就是: 云信 IM 小程序 SDK 的能力 ...

  7. 微信小程序开发笔记(二)第一个微信小程序

    参考教材:<微信小程序开发入门与实践> 雷磊 前置知识:JavaScript,CSS 新建项目 安装好微信开发者工具后,我们就可以开始新建我们第一个微信小程序了. 选择新建项目,填入一个项 ...

  8. 微信小程序开发之路(三)

    微信野心越来越大,如今已经从开始简单的聊天工具发展成了一个互联网生态系统,网罗了目前各大互联网平台所具备的功能,最近IOS端微信上线的"搜一搜"和"看一看"更加 ...

  9. 微信小程序开发之路⑩

    微信小程序设计指南 网址: https://developers.weixin.qq.com/miniprogram/design/#%E5%9B%BE%E6%A0%87 自定义组件 开发者可以将页面 ...

最新文章

  1. Python-列表和元组
  2. Python Numba实现GPU加速
  3. 20210621 数学上的距离和空间
  4. 启明云端分享| sigmastar SSD201/ SSD202D _OTA升级使用参考
  5. 细水长flow之f-VAEs:Glow与VAEs的联姻
  6. python online course_python-选课系统
  7. 我的世界卸载java_我的世界:官方移除了Herobrine?一个骗了玩家十年的谎言!...
  8. iOS之页面布局-踩坑的原由
  9. ios mk上传文件到服务器,ios – 使用预签名URL将文件上传到AWS S3的代码有什么问题?...
  10. CVE-2010-2883Adobe Reader和Acrobat CoolType.dll栈缓冲区溢出漏洞分析
  11. transition animation
  12. html微信公众平台登录界面,微信公众平台登录界面在哪里
  13. ML Collections的介绍(一)
  14. 微信小程序 #项目笔记# | 从0到1实现外卖点餐系统小程序
  15. 2015我的校招季,阿里、搜狗、百度、蘑菇街面试总结
  16. 拓扑学与计算机,拓扑学在物理学中的应用,揭示物质状态的最本质特征
  17. 香港大学计算机科学排名,香港大学计算机专业排名
  18. Rosalind第五题:计算GC内容
  19. 微服务-Nacos动态配置中心
  20. 算法导论的一道课后练习题,挺有意思

热门文章

  1. html5健康有机蔬菜果汁店网站模板
  2. linux host命令超时,Linux中的PING命令。每日一个小知识。不怕学不会
  3. vue兄弟组件之间的传值,bus运用,beforeDestroy销毁,Bus.$off
  4. Vue系列vue-router的嵌套使用(四)
  5. DOS批处理中%cd%和%~dp0的区别
  6. Memcached 学习篇【转】
  7. CSS学习之外边距合并
  8. 永久把linux系统chrome的user agent 改成win10系统的
  9. 常用的Linux操作系统
  10. 本地Vue前端请求本地Spring Boot跨域问题(CROS错误)