赞
踩
官网:https://mp.weixin.qq.com/cgi-bin/wx
我的APP ID: 网站注册后可以知道
小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。
微信公众号和小程序的主要区别?
1、定位不同(公众号服务于营销与信息传递,小程序面向产品与服务)
2、实现技术区别 (公众号基于H5(html5 vue angualr react ionic),小程序必须用小程序的语法开发)
3、用户体验 (小程序的用户体验要比 html5好一些,更接近原生app)
4、调用原生的能力 (微信公众号可以借助jssdk调用手机的摄像头拍照 ,调用扫描二维码等 能力有限。 小程序调用原生的能力非常强大,能实现几乎app能实现的所有功能) (调用原生的功能 *可以不开发app )
5、微信app上面的入口不一样
微信小程序的应用场景:
互联网+ 物联网+ 人工智能+
餐厅点餐+小程序
基于LBS小程序直接搜索附近的餐厅,进店用进行扫码点餐、支付。
无人点餐:
公交+小程序
公交车站放一个小程序二维码,扫一扫就知道公交什么时候来。
买电影票+小程序
进入小程序直接搜附近电影院下单搞定。
加油站缴费+小程序
加油下车排队缴费太麻烦,扫小程序不用下车就能解决。
火车上叫餐+小程序
不用去固定车厢点餐,扫座椅后背的小程序二维码下单,乘务员给你送来。
旅行+小程序
旅行酒店预订、周边攻略、目的地、游记等都可以在小程序里轻松搞定。
快递+小程序
一键打开快递小程序,查看自己的订单,查看快递送达的时间,查看宝贝现在的物流情况
医疗+小程序
用小程序,提前挂号、网上排队,就医后扫码支付,直接拿药
景区+小程序
扫描景点门票小程序的二维码,即可查看景区详情
零售+小程序
想吃个水果或吃点零食,直接搜索附近小程序下单,送货上门。
小程序开发文档、开发工具、开发指南、体验demo:
开发文档
https://developers.weixin.qq.com/miniprogram/dev/
开发工具
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
体验demo
https://developers.weixin.qq.com/miniprogram/dev/demo.html?t=1477656485442
目录结构:
pages-所有页面
首页index 业务逻辑.js wxml–html wxss-css
登录脚本 多了一个配置文件json
utils
工具js 模块化的东西
App.js
全局的js文件 其他地方调用App 只需要用 const app=getApp(); 获取应用实例
App.json
全局的配置文件 整个页面 导航条的颜色 底部菜单切换
app.wxss
全局css文件
project
项目配置文件 一般不改动
视图——wxml wxss
业务逻辑——js
view=div
text=span
没有ul li
Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
数据绑定与Vue差不多
有判断条件
<view class='box' wx:if='{ {flag}}'> 绑定属性 <view data-aid="{ {aid}}">放上去看一下</view> 循环数据——简单数组 <view class='list'> <view class='item' wx:for="{ {list}}"> { {index}}-----{ {item}} </view> </view> 循环数据——数组里面有对象 <view class='list'> <view class='item' wx:for="{ {list1}}"> { {index}}-----{ {item.title}} </view> </view>
嵌套循环
使用 wx:for-item 可以指定数组当前元素的变量名,
使用 wx:for-index 可以指定数组当前下标的变量名:
<view class='list'> <view class='item' wx:for="{ {list2}}"> { {item.cate}} <view wx:for="{ {item.list}}"> -------{ {item.title}} </view> </view> </view> <view class='list'> <view class='item' wx:for="{ {list2}}" wx:for-item=“item”> { {item.cate}} <view wx:for="{ {item.list}}" wx:for-item=“car”> -------{ {car.title}} </view> </view> </view>
不可以使用alert方法
自定义方法与data同级
没有br换行
<view class='br'> </view>
执行方法的几种写法:
1.在生命周期函数里面调用方法
this.run()
2.<button size="mini" bindtap='run'>执行run方法</button>
注意触发方法不需要写()
3.获取data的数据
console.log(this.data.msg);
4.改变data的数据
his.setData({
msg:'我是改变后的msg'
})
MVVM:是Model-View-ViewModel的简写,将其中的View 的状态和行为抽象化,让我们将视图 UI 和业务逻辑分开。当然这些事 ViewModel 已经帮我们做了,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。
事件对象:原生js相似 鼠标按下的当前DOM节点和一切的相关信息
获取自定义属性的值
doEventFn(e){
console.log(e);
console.log(e.currentTarget.dataset.aid);
}
小程序里面执行方法传值——在view视图层执行方法传值
不能直接传值 需要靠event 事件对象
requestViewData(event){
console.log(event.currentTarget.dataset);
}
<button size="mini" data-aid='234' data-cid='234xsxs' bindtap='requestViewData'>执行方法传值</button>
冒泡与非冒泡事件
事件分类
事件分为冒泡事件和非冒泡事件:
冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。 bindtap
非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。 catchtap
app.json的配置和使用:
1.pages配置路由、windows显示效果、底部tab切换
导航条只支持黑色和白色
1、小程序里面的资源不能大于2M
2、底部tab切换菜单最少2个最多5个
"tabBar": { "color":"#666", "selectedColor":"#f60", "backgroundColor":"#eee", "borderStyle":"white", "position":"bottom", "list": [ { "pagePath": "pages/index/index", "text": "首页", "iconPath":"static/images/home1.png", "selectedIconPath":"static/images/home.png" }, { "pagePath": "pages/news/news", "text": "新闻", "iconPath":"static/images/news1.png", "selectedIconPath":"static/images/news.png" }, { "pagePath": "pages/user/user", "text": "用户", "iconPath": "static/images/user1.png", "selectedIconPath": "static/images/user.png" } ] }
从一个页面跳转到另一个页面
goShop(){
wx.navigateTo({
url: '../shop/shop'
})
}
页面跳转传值:
<button size="mini" data-aid="22" bindtap='goFoodContent'>跳转到详情页面传值2</button>
goFoodContent(event){
console.log(event.currentTarget.dataset.aid);
var aid = event.currentTarget.dataset.aid;
wx.navigateTo({
url: '../foodcontent/foodcontent?aid='+aid
})
}
跳转到的页面来监听上个页面传过来的值
onLoad: function (options) {
//获取上一个页面的传值
console.log(options);
}
请求数据:
wx.request
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。