文章目录
1,微信小程序
1.1,小程序项目根目录
1.2,小程序页面组成(4部分)
1.3,小程序启动
小程序启动时,会将app.json中pages数组中的第一个页面作为启动页面。并触发app全局对象的生命周期函数。
1.4,tabBar配置
tabBar在app.json中进行配置
tabBar页面的加载遵循懒加载规则,页面切换时切出的页面不销毁。
1.5,navigation路由标签
navigator标签类似a标签,点击进行页面切换,有不同的切换方式open-type。
navigation跳转:一级页面进入二级页面,一级页面不销毁,创建二级页面;二级页面返回一级页面,二级页面销毁。
1.6,小程序基础(xxx.js文件)
App函数,小程序全局应用对象注册函数,参数是一个对象,对象中进行小程序生命周期控制等设置。
//获取应用实例
const app = getApp();
page函数,页面配置函数,配置整个页面的数据,方法,生命周期钩子函数等。
Page({
data: {
txt: "hello world",
num: 10,
show:true,
},
});
//绑定事件的函数会接受到事件对象参数
addBtnTapped(e){
// console.log(e);
// 在页面的方法中,this是页面对象。
// console.log(this);
// 页面修改数据,必须使用setData方法,否则页面上的数据不会刷新,和react类似,
// 但和react不同的是,setData是同步的。
this.setData({
num:this.data.num+1
});
},
//代码实现tabBar页面切换
wx.switchTab({
url: '/pages/logs/logs',
});
1.7,小程序语法(xxx.wxml)
常用标签:
view标签,块元素,相当于html的div。
text标签,行元素,相当于html的span。
<view>{{txt}}</view>
标签内容和属性都通过{{}}进行绑定。
<input placeholder="{{txt}}"></input>
小程序的事件绑定不能直接绑定代码,必须绑定方法。绑定方法名时不能加().
<button bindtap="addBtnTapped">+</button>
小程序中没有双向绑定指令,必须手动实现
<text wx:if="{{show}}">可以隐藏的文本</text>
<text wx:else>已经隐藏了</text>
小程序使用wx:for进行列表渲染,默认列表项为item,索引为index。
<view
wx:for="{{list}}"
wx:for-item="g"
wx:for-index="i"
wx:key="name"
bindtap="itemTapped"
data-good="{{g}}"
>
<text>{{i}}</text>
<text>{{g.name}}</text>
<text>{{g.price}}</text>
</view>
使用wxs实现类似computed和过滤器的效果。
Class属性可以绑定一个数组,style只能绑定字符串,不能绑定对象。
使用导航标签跳转
<navigator url="/pages/logs/logs" open-type="switchTab">日志</navigator>
rpx是微信小程序wxss中的相对长度单位,1rpx总是等于屏幕宽度的1/750 。屏幕宽度总是为750rpx。
通过url参数进行传参,只能穿字符串。