随时随地技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)

from:微信小程序开发教程--从零开始 - 简书

从零开始小程序

今天一不小心拿到了小程序的内测资格,为了不辜负微信团队的信任,我决定十一奋斗一把!不过话说我可是一个Android工程师啊!所以就让我们从零开始!
所以本文非常适合非前端工程师学习!哈哈!都说小程序出来前端会抢移动端饭碗,但是据我所知现在好多学习的都是移动开发工程师,谁抢谁的还不一定呢!
PS:表问我怎么拿到小程序内测资格的,有种东西叫内部资源!

  • 准备工作

    • IDE搭建
    • 知识准备
  • 从零开始
    • app.js
    • app.json
    • app.wxml
    • app.wxss
  • Hello World
    • 创建程序实例
    • 美化ActionBar
    • 美化页面
    • 配置首页
  • 超级Hello World
    • 事件绑定函数
    • 更新界面数据

准备工作

IDE搭建

就不多说了,没有内测码去下载个破解版吧,我用了一下,学习完全够了!IDE破解版+安装教程

图片发自简书App


知识准备

JavaScrip还是要看看的,推荐教程 廖雪峰大神的博客
HTML+CSS 大概知道是干啥的就行


从零开始

微信小程序中就四种类型的文件

  • js ---------- JavaScrip文件
  • json -------- 项目配置文件,负责窗口颜色等等
  • wxml ------- 类似HTML文件
  • wxss ------- 类似CSS文件

在根目录下用app来命名的这四中类型的文件,就是程序入口文件。

app.json

必须要有这个文件,如果没有这个文件,IDE会报错,因为微信框架把这个作为配置文件入口,
你只需创建这个文件,里面写个大括号就行
以后我们会在这里对整个小程序的全局配置。记录了页面组成,配置小程序的窗口 背景色,配置导航条样式,配置默认标题。

app.js

必须要有这个文件,没有也是会报错!但是这个文件创建一下就行 什么都不需要写
以后我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量。

app.wxss

这个文件不是必须的。因为它只是个全局CSS样式文件

app.wxml

这个也不是必须的,而且这个并不是指主界面哦~因为小程序的主页面是靠在JSON文件中配置来决定的

有了这两个文件你运行程序,IDE就不会报错了,也意味着这是最简单的微信小程序

Paste_Image.png


Hello World

创建程序实例

app.js文件管理整个程序的生命周期,所以在里面添加如下代码:(输入App IDE会有提示)

App({onLaunch: function () {console.log('App Launch')},onShow: function () {console.log('App Show')},onHide: function () {console.log('App Hide')}
})

具体API解释如下

Paste_Image.png

美化ActionBar

json文件负责配置ActionBar颜色,我们只需要在里面添加如下代码即可,下图有参数说明!

Paste_Image.png

Paste_Image.png

{"window":{"navigationBarBackgroundColor": "#BBDEF8","navigationBarTitleText": "Demo","navigationBarTextStyle":"white"}
}

Paste_Image.png

现在看ActionBar是不是像那么回事了!好接下来我们继续写我们第一个界面

美化页面

美化页面我们用到了 wxml 和 wxss文件
为了程序代码结构简洁
我们需要在跟目录下创建一个新文件夹 名字随意,我们这里叫pages
然后在pages文件夹里再创建新文件夹 名字随意 这里我们叫 index
然后我们创建index.wxml文件然后在里面写入以下代码

<view><text class="window">Hello</text>
</view>

然后创建index.wxss文件然后在里面写入以下代码

.window{color=#4995fa;
}

然后我们创建 index.js文件
在文件中输入如下代码(输入Page IDE会有提示)

Page({data:{// text:"这是一个页面"},onLoad:function(options){// 页面初始化 options为页面跳转所带来的参数},onReady:function(){// 页面渲染完成},onShow:function(){// 页面显示},onHide:function(){// 页面隐藏},onUnload:function(){// 页面关闭}
})

函数解释如下:

Paste_Image.png

配置首页

Json文件负责配置页面路径
所以我们在里面加入如下代码
其中index的含义 其实就是指index.js文件
这里需要说明一点 pages 里面的路径其实是指向js文件的
如果一个目录下没有该名称的js文件是会报错的!

"pages":["pages/index/index"
],

完成了!我们来运行程序!

Paste_Image.png


超级Hello World

为了学习事件绑定,以及如何将数据在页面上更新
我们来做个超级Hello World,就是我点击文字,能让
它变色!

绑定事件

我们打开index.wxml 将里面代码改成这样

<view><text catchtap="click" class="window">Hello</text>
</view>

其实也就是加了

  • catchtap="click"

这两个属性是什么意思呢 别着急 我会一一解释

Paste_Image.png

上图展示了事件的一些的属性名称,这里需要注意红框标注起来的内容,区分出冒泡事件和非冒泡事件,其实冒泡事件就是需要往上面一层容器传递这个事件。

看了这图 我们再来看 catchtap="click" 的含义
catch 代表非冒泡事件
tap 代表点击事件
所以连在一起就是非冒泡点击事件
那后面那个click是啥
click 其实只是个变量名字
我们在index.js需要用这个名字绑定接收事件的函数
我们打开index.js
然后添加如下函数

  click:function(){console.log("点击了文字");},

添加完后代码长这样 红框中就是 添加的这个代码

Paste_Image.png

所以其实点击事件的回调函数 就是 catchtap="click"
中的 click 后面加上 :function() 构成的
现在我们来运行程序试试 然后点击文字

Paste_Image.png

看是不是调用了 click:function 函数 并且打出了log

好接下来我们写点击一下变色的逻辑
那如何让一个文字变色呢,当然是css
所以我们需要再index.wxss 中添加一个样式

.window-red{color:#D23933;
}

Paste_Image.png

然后我们进入index.js文件
你会发现代码里面有个 data:{} 它不是page生命周期函数
其实他是个变量的数组,这个里面申请的变量都可以在 wxml中使用

Paste_Image.png

我们在这里申请一个color

Paste_Image.png

color的值就是index.wxss中的样式名称
然后进入index.wxml中,将class中的值改成 {{color}}

Paste_Image.png

其实意思就是 将js文件中变量 color的值在这里使用
也就是值等于 window
然后我们再回到index.js文件
在最上面申请一个变量控制点击
然后在click:function() 函数中添加如下代码

 click:function(){console.log("点击了文字");if(flag){color = "window-red";flag = false;}else{color = "window";flag = true;}this.setData({color});},

修改完后的代码如图

Paste_Image.png

其实就是在点击是后 更换color变量的值 而更换的这个值其实就是样式的名称

更新界面数据

这里有个问题 我们更换完值 但是在wxml中不会立即生效
所以我们需要调用
this.setData()方法将值同步给wxml 让它立即生效

好了我们运行程序 点击Hello 看看是不是点一下 变一下颜色!

111111.gif


最后再补充一点 index目录下也是可以配置 json文件的
也就是每个页面都可以配置自己独特的actionbar颜色等等
这里的配置会覆盖 app.json文件的配置

最后附上github 地址 https://github.com/pwh0996/WXDemo.git
最后由于着急睡觉 ,所以错别字比较多,后面整理望大家见谅

喜欢的话欢迎打赏~!!!我会继续写下去的

作者:蒲文辉
链接:https://www.jianshu.com/p/aaef5ceb3936
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

微信小程序开发教程--从零开始相关推荐

  1. 微信小程序开发语言(微信小程序开发教程)详细步骤

    微信小程序开发语言 开发微信小程序用什么语言 1.微信小程序开发所需要的语言比较特别,首先介绍一下需要使用到的文件类型大致分为:WXML(WeiXin Mark Language 微信标记语言).WX ...

  2. 微信小程序装修解决方案ppt_微信小程序开发教程.ppt

    微信小程序开发教程.ppt 从开发CMS系统学起 从入门到精通的微信小程序开发教程 学微信小程序开发 从实践中学习是开发者最好最快的学习方法.本教程将和大家从零开始 一步一步搭建微信小程序CMS系统, ...

  3. 微信小程序开发分销制度济南_花店微信小程序开发教程

    如何将自己的鲜花商品快速配送出去,避免鲜花过期浪费,是很多传统花店商家的难题.不过随着微信小程序的出现,这一难题也渐渐得到了解决.花店商家可以通过自己的小程序商城,打通线上渠道,可以加大推广.扩大销量 ...

  4. 微信小程序开发教程第七章:微信小程序编辑名片页面开发

    前面我们更新了六篇的微信小程序开发教程,现在更新第七章:微信小程序编辑名片页面开发,(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程 ...

  5. 微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现

    接着上面微信小程序开发教程第八章:微信小程序分组开发与左滑功能实现.(第一二章:微信小程序开发教程,第三四章:微信小程序项目结构以及配置&微信小程序首页面开发,第五章:微信小程序名片夹详情页开 ...

  6. 小程序开发用什么编程语言_微信小程序开发教程是什么?费用多少?

    微信小程序如今已经非常常见,渗透到了我们日常生活的方方面面,包括生活服务.出行.点餐.电商购物.企业展示--商家可以开发适合自己行业的小程序,以吸引线上用户,同时提高自身服务运营效率.不过这些不同种类 ...

  7. 零基础入门,花生壳骨灰级微信小程序开发教程

    微信小程序早已成为企业运营必不可少的一部分,对于小程序的开发需求也只增不减,而一个小程序在使用过程中是否流畅,也关系者用户体验度. 微信小程序的优势和特点: 一.不占内存 现在很多人都会遇到手机内存不 ...

  8. 微信小程序开发教程:项目五导航组件 课后习题

    <微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 简述如何动态设置窗口的背景色. 六.编程题 1.设计一款 ...

  9. 微信小程序开发教程:项目一微信小程序入门 课后习题

    <微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 1.请简述微信开发者工具中调试器功能. 2.请简述微信小 ...

最新文章

  1. SpreadJS 在 Angular2 中支持绑定哪些属性?
  2. 数据结构与算法分析——引论
  3. 成功解决在excel表中通过数学函数转换后,接着去掉公式转为不再随着变化的数值
  4. 软件需求分层处理的多种常见方式
  5. 十进制网络,你也可以
  6. 详解python 3下文本文件的编解码
  7. Java中的AES加密和解密(CBC模式)
  8. python索引例子_Python实现带下标索引的遍历操作示例
  9. Mock数据,语法规范
  10. python之log日志模块
  11. win10自动休眠解决方法
  12. package的创建安装和使用
  13. Android应用层 知识体系
  14. plsql command window create function
  15. python刷网课程序,基于python和selenium的刷网课的代码
  16. 工作效率低如何解决?
  17. 小屏幕android电视,神奇!只需一个方法,让电视当作手机屏幕!
  18. 【Python】Jupyter Notebook介绍、安装及使用教程
  19. 高级数据结构——AVL树
  20. A. Arithmetic Array

热门文章

  1. 别指望灵感,还是要靠汗水 ——“创造性思维”的三个迷信
  2. 前有阿里苏宁,后有拼多多国美
  3. ufei启动+GPT安装win7
  4. [引用]心揣“法海”,身嫁“许仙”
  5. php冒泡用途,php冒泡及其优化
  6. 社区团购小程序系统开发经验分享 功能说明
  7. 图像处理中,对图片数据集规格大小的处理办法。
  8. CPFair:推荐系统的个性化消费者和生产者公平重新排序
  9. codemirror 执行PHP,CodeMirror 使用大全
  10. APP的注册和登录功能设计,你连原理都还没弄明白