赞
踩
注册微信小程序账号
获取微信小程序的 AppID
下载微信小程序开发者工具
创建demo项目
去微信公众平台配置域名
手机预览
代码上传
提交审核
小程序发布
this.data.变量
这种⽅式 代替this.setData({})
优点:
缺点:
navigateTo
: 保留当前页面,跳转到应用内的某个页面。
navigateBack
:关闭当前页面,返回上一页面或多级页面。
redirectTo
:关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
switchTab
:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
reLaunch
: 关闭所有页面,打开到应用内的某个页面。
//data-name绑定的值就是value的值,这样才能随时更新到value中
<input type="text" bindinput="inputEdit" data-name="inputValue" placeholder="姓名" value="{{inputValue}}">
在index.js中:
Page({
data:{
inputValue:'测试数据双向绑定',
},
inputEdit(e){
//data-开头的是自定义属性,可以通过dataset获取到dataset是一个json对象。
//通过事件参数获取input所对应的全局属性名
var inputModel = e.currentTarget.dataset.name;
//通过value获取当前用户输入的内容
var value = e.detail.value;
//将input所对应的全局属性的属性只更新
this.data[inputModel] = value;
这个时候也就是说`data-name` 的值更新了,这里就是通过bindInput记录的value改变的值,存起来
this. setData({
inputValue:this.data[inputModel]
});
}
})
什么是分包加载:
在小程序开发的过程中,小程序的体积会随着版本变的越来越大,我们可以将小程序分成多个包从服务器下载,优化首次启动加载时间以及后续按需加载的实现。
如何使用分包加载:
1、在app.json中配置项目分包结构(结构如上图)
2、配置subpackages后,将按subpackages配置的路径进行打包,没有配置的都会分到主包。所以一定要配置好路径,避免主包超过限制报错
3、tabBar必须放在主包
4、分包之间不能引用,只能require app.js和自身的js
5、配置完分包之后检查主包配置的路径有没有包含分包的,有的话要去掉
需要用到web-view标签然后通过web-view标签里的src属性跳转到webview页面
小程序跳转webview必须要在小程序后台使用管理用户添加业务域名
首先需要引入微信小程序库,然后使用wx. miniprogram.navigateTo()来跳转到小程序的页面,
跳转tabbar页面可以使用wx. miniprogram.switchTab()来跳转到tabbar页面
1、onLoad()页面加载时触发,只会调⽤⼀次,可获取当前⻚⾯路径中的参数
2、onShow()页面显示/切换前台时触发,⼀般⽤来发送数据请求
3、onReady()页面初次渲染完成时触发,只会调⽤⼀次,代表页面已和可视图层进⾏交互
4、onHide()页面隐藏/切⼊后台时触发,如底部tab切换到其他页面或⼩程序切⼊后台等
5、onUnload()页面卸载时触发,如redirectTo或navigateBack到其他页面时。
自定义tabbar:
创建一个custom文件夹,里面创建一个tabbar页面,取消原有的tabbar页面。需要在app.json中输入custom:ture,然后在自定义的pages页面中写入《tabbar selected="{{0}}"》《/tabbar》进行选中效果显示
自定义组件:
1、在根目录新建一个
components
文件夹,然后在这个文件夹下放置自定义的组件。
2、需要用到某个自定义组件时,就在它里面的json文件中配置"component": true
3、然后在父组件的json文件中的usingComponents
中导入这个组件:
{
“usingComponents
”: {
“自定义组件名”:"…/…/components/路径"
}
}
微信小程序属于轻量级的app 但是限制在微信中,开发周期短,功能较少,占用空间少, app就相反 需要占用额外内存 开发周期长
可以通过wx.setStorageSync(‘键名’, 对应的值)来进行数据持久化
用view代替scroll-view,设置onPullDownRefresh函数实现
在回调函数中调用下一个组件的函数:
**app.js**
success:function(info){
that.apirtnCallback(info)
}
**index.js**
onLoad:function(){
app.apirtnCallback = res =>{
console.log(res)
}
}
可通过 unionid 来区分用户的唯一性,同一用户,对同一个微信开放平台下的不同应用,unionid 是相同的
使用wx.getUserInfo方法 withCredentials为true时,可获取encryptedData,里面有union_id.后端需要进行对称解密。
注:插件渲染会导致页面加载变慢,建议在后台对文章内容的html进行过滤,后台直接处理批量替换p标签div标签为view标签。然后其他的标签让插件来做
用户通过 button组件来设置的button样式getuserinfo和规定好的点击事件,点击 button弹出授权窗,
如果同意授权则可以从 bindgetuserinfo回调中获取到用户信息最后来设置界面,只能通过点击 button设置的opensetting的样式来跳转到设置界面
视图容器
基础内容
表单组件(form)
因为微信小程序处理函数是异步执行的,异步执行造成的结果可能和预期的不合,如果函数中有循环,最后的结果都一样,所以使用js闭包可以解决这个问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。