切换选择背景变化:
{{index===selectedTagIndex?'selected':''}}
2.
通过url传值
在url中传入要发送的值
wx.navigateTo({
url: ‘…/sectionItem/sectionItem?id=’ + that.data.id + ‘&chapter=’ + event.currentTarget.dataset.id,
})
需要加载的page中的onLoad方法中获取值
onLoad:function (options){
console.log(“id:”+options.id)
console.log(“chapter:”+options.chapter)
}
3. 新建页面
在pages目录下增加页面
需要在app.json中的page中 添加对应路径
4.新建 底部导航栏
在app.json 中配置底部导航栏
范围 :2——5个
5.点击事件 传参数
加上特殊的属性 以data- xxx 开头
js文件中 获取
6.页面跳转 并传递参数
一: 跳转不了到底部标签对应的页面
在对应的js文件中
wx.navigateTo({
url: '/pages/xxx/xxx?name='+name
})
接收参数
在对应页面的js文件中
onLoad: function(options){
const name = options.name
}
二:
<navigator url="/pages/xxx/xxx?id=xxx"></navigator>
7.修改本页面的数据
直接用复制this.data.name = xx 方式并不会双向改变
this.setData({name: "dhdk"})
8. getUserInfo 和 getUserProfile 都不能获取到用户信息,这些接口已被回收
9. bindtap 是绑定view的事件
而 catchtap 是 点击 button 的事件
10.产生弹窗
wx.showToast({
title: "xxxxxx",
icon: "", // none success loading
duration: 5000
})
11. 当有参数需要校验时,前后端都要做相应的校验
因为用户可能直接通过url访问后端,如果后端不做校验就会出错。
12. 全局参数
在 app.js 中
在需要使用其中数据的页面:(赋值和读都是一样的)
getApp().globalData.userInfo
如果是双向绑定,在需要使用的页面的js文件中 onShow()写:
onShow: function(){
this.setData({
userInfo: app.globalData.userInfo
})
}
不在onLoad()中写是因为onLoad只在第一次打开时会执行,而onShow()是显示时都会执行。
13. 本地存取数据
存数据:
wx.setStorageSync("name",name);
取数据:
var name = wx.getStorageSync('name');
14.定义数据时,如果下面还有子元素,需要写出来,不要写 null
//这种如果要访问子元素会报错
userInfo: null
//把需要访问修改的子元素全部列出来
userInfo: {
nickName: "",
nickId: ""
}