请问小程序怎么实现跨页面的数据和方法调用呢?
比如我有一组数据,有几个页面都需要能读取和修改。有几个函数,希望几个页面都能调用,该怎么做呢?
谢谢!
楼上说得对,官方示例util.js就是放公用函数的,写完后module.exports.函数名 = 函数名,在引用的界面请求下,这些文档都有的,至于数据,放在Storage里比较好,如果是不变数据的话,就放在app.js的全局里,在页面里调用
首先Page接收的是对象,页面上的Page({}) 改成
////////////// index.js
//导入模块文件
import { SortPannel} from '../../js/xx.js'
let PageData = {
onLoad:function(){
//在页面加载时 new 一次你的模块文件
new SortPannel
}
}
Page(PageData)
////////////// xx.js
//定义页面互动的数据(双向)
let compData={
'name':'测试君'
}
let compEvent ={
getData:function(){
}
}
function SortPannel() {
// 拿到当前页面栈
let pages = getCurrentPages()
let curPage = pages[pages.length - 1]
// 把组件的事件"合并到"页面对象上
Object.assign(curPage, compEvent)
// 把组件的数据"注入"到页面的data对象中
curPage.setData(compData)
}
//最后导出模块
module.exports = {
SortPannel
}
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
3 回答2.6k 阅读✓ 已解决
看小程序的官方实例吧,数据要么做成缓存,要么做成全局变量,通过回调函数处理,
函数则是集成在一个js里,调用就行,官方实例的util.js就是做这个用的