最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

微信小程序:怎么在一个js中修改另一个js的数据(这里通过缓存进行实现)

维修 admin 56浏览 0评论

微信小程序:怎么在一个js中修改另一个js的数据(这里通过缓存进行实现)

实例:现有两个页面index.js和category.js,我现在想在index.js中修改category.js的数据

初始数据

category = [{name: '物流配送',list: [{id: 1,job: '外卖骑手',checked: true}, {id: 2,job: '快递员',checked: false}, {id: 3,job: '司机',checked: false}, {id: 4,job: '网约车司机',checked: true}, {id: 5,job: '货运司机',checked: false}]},{name: '仓储',list: [{id: 1,job: '分拣打包扫描',checked: false}, {id: 2,job: '叉车工',checked: false}]},{name: '安保',list: [{id: 1,job: '保安',checked: false}],}];

修改页面代码-index.js

我现在已知的是name的值和id值,我需要修改对应name下list中对应id所对应的checked的值

引入存数据的页面category.js

import category from '../../utils/category'

 

修改数据

方法中进行数据的修改,并将数据存入缓存

select_position: function (e) {var id = e.currentTarget.dataset.id;//获取的id值var name = e.currentTarget.dataset.name;//获取的name值//查询所选的全部元素console.log(category)//查询category中对应的name项const item = category.find(item => item.name === name);if (item) {//查询对应name项下list对应的id项const sonitem = (item.list).find(sonitem => sonitem.id === id);//如果该项存在,将该项的checked值修改为与之相反的值if (sonitem) {sonitem.checked = !sonitem.checked;} else {console.log('没找到对应id值');}} else {console.log('没找到对应');}//延迟一秒后将数据存入缓存setTimeout(() => {wx.setStorageSync('category', JSON.stringify(category));}, 1000);   
},

数据页面代码category.js

判断缓存中是否有数据,如果有数据就执行缓存中的数据,如果没有就执行原始数据

//定义一个数据用于存入数据
let category = []
// 从本地缓存中读取数据
const cachedCategory = wx.getStorageSync('category');
if (cachedCategory) {// 如果本地缓存中有数据,则将其赋值给 category 变量category = JSON.parse(cachedCategory);
} else {// 如果本地缓存中没有数据,则使用默认的 category 数组category = [{name: '物流配送',list: [{id: 1,job: '外卖骑手',checked: true}, {id: 2,job: '快递员',checked: false}, {id: 3,job: '司机',checked: false}, {id: 4,job: '网约车司机',checked: true}, {id: 5,job: '货运司机',checked: false}]},{name: '仓储',list: [{id: 1,job: '分拣打包扫描',checked: false}, {id: 2,job: '叉车工',checked: false}]},{name: '安保',list: [{id: 1,job: '保安',checked: false}],}];
}
export default category;

微信小程序:怎么在一个js中修改另一个js的数据(这里通过缓存进行实现)

实例:现有两个页面index.js和category.js,我现在想在index.js中修改category.js的数据

初始数据

category = [{name: '物流配送',list: [{id: 1,job: '外卖骑手',checked: true}, {id: 2,job: '快递员',checked: false}, {id: 3,job: '司机',checked: false}, {id: 4,job: '网约车司机',checked: true}, {id: 5,job: '货运司机',checked: false}]},{name: '仓储',list: [{id: 1,job: '分拣打包扫描',checked: false}, {id: 2,job: '叉车工',checked: false}]},{name: '安保',list: [{id: 1,job: '保安',checked: false}],}];

修改页面代码-index.js

我现在已知的是name的值和id值,我需要修改对应name下list中对应id所对应的checked的值

引入存数据的页面category.js

import category from '../../utils/category'

 

修改数据

方法中进行数据的修改,并将数据存入缓存

select_position: function (e) {var id = e.currentTarget.dataset.id;//获取的id值var name = e.currentTarget.dataset.name;//获取的name值//查询所选的全部元素console.log(category)//查询category中对应的name项const item = category.find(item => item.name === name);if (item) {//查询对应name项下list对应的id项const sonitem = (item.list).find(sonitem => sonitem.id === id);//如果该项存在,将该项的checked值修改为与之相反的值if (sonitem) {sonitem.checked = !sonitem.checked;} else {console.log('没找到对应id值');}} else {console.log('没找到对应');}//延迟一秒后将数据存入缓存setTimeout(() => {wx.setStorageSync('category', JSON.stringify(category));}, 1000);   
},

数据页面代码category.js

判断缓存中是否有数据,如果有数据就执行缓存中的数据,如果没有就执行原始数据

//定义一个数据用于存入数据
let category = []
// 从本地缓存中读取数据
const cachedCategory = wx.getStorageSync('category');
if (cachedCategory) {// 如果本地缓存中有数据,则将其赋值给 category 变量category = JSON.parse(cachedCategory);
} else {// 如果本地缓存中没有数据,则使用默认的 category 数组category = [{name: '物流配送',list: [{id: 1,job: '外卖骑手',checked: true}, {id: 2,job: '快递员',checked: false}, {id: 3,job: '司机',checked: false}, {id: 4,job: '网约车司机',checked: true}, {id: 5,job: '货运司机',checked: false}]},{name: '仓储',list: [{id: 1,job: '分拣打包扫描',checked: false}, {id: 2,job: '叉车工',checked: false}]},{name: '安保',list: [{id: 1,job: '保安',checked: false}],}];
}
export default category;

发布评论

评论列表 (0)

  1. 暂无评论