先说下<switch type='switch' checked="" ></switch>
checked="" 关闭 ; checked="1" 开启 (有值就开启)
入正题,
我想实现的是 点击按钮保存值 把这值用于下次进入这界面改变按钮的选择 (如播放音乐开关)
.wxml
<switch type='switch' checked="{{swicht_a == '开' ?'1':''}}" bindchange='bindchan'></switch>
.js
const app = getApp();//实例app
Page({
/**
* 页面的初始数据
*/
data: {
swicht_a: app.globalData.kg
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
onShow:function(){//每次进入页面加载
var that = this
if (app.globalData.kg == '') {
if (wx.getStorageSync("swicht_HC") !=""){//查看缓存是否有值
app.globalData.kg = wx.getStorageSync("swicht_HC")
}else{
that.setData({ swicht_a: '开' })
app.globalData.kg = '开'
}
} else {
that.setData({ swicht_a: app.globalData.kg })
}
}
//点击改变事件
,bindchan:function(e){
var that=this
if (e.detail.value){
that.setData({ swicht_a: "开" })//当前页面变量
app.globalData.kg = "开" //写入全局变量
wx.setStorageSync('swicht_HC', "开");//变量写入缓存
}else{
that.setData({ swicht_a: "关" })//当前页面变量
app.globalData.kg = "关" //写入全局变量
wx.setStorageSync('swicht_HC', "关");//变量写入缓存
}
}
})
app.js 主要写全局变量 kg : " "
最终 使用到这按钮保存的值
其他 js 用到的写法()
这个主要是利用 全局变量:app.globalData.kg 和 缓存值 wx.getStorageSync("swicht_HC") 进行 判断
//播放铃声
if (app.globalData.kg == '') {//
if (wx.getStorageSync("swicht_HC") == "开") {//查看缓存是否有值
//执行播放音乐
}
} else {
if (app.globalData.kg == "开"){
//执行播放音乐
}
}