![]() |
1
FrankFang128 2024-07-17 11:12:27 +08:00
postMessage
|
![]() |
2
tool2dx 2024-07-17 11:13:33 +08:00
一般都是 postMessage ,接收方写 window.addEventListener('message', (event) => {});
|
![]() |
3
bojackhorseman 2024-07-17 11:17:21 +08:00 ![]() “发表时,跳转到另一个页面,在新页面把帖子提交给后端”,为什么不提交后再跳转页面?
|
![]() |
4
bojackhorseman 2024-07-17 11:21:45 +08:00 ![]() 你标题最好改成微信小程序,不然大家给的解决方案未必适用。
https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html ![]() 微信小程序有提供页面通信 api |
5
superedlimited 2024-07-17 11:22:35 +08:00 via iPhone
微信小程序用 event channel
|
![]() |
6
estk 2024-07-17 11:35:12 +08:00 via iPhone
mobx 等状态管理?
sessionstorage ? |
![]() |
7
wanguorui123 2024-07-17 11:55:28 +08:00
localstorage
|
![]() |
8
windliang PRO 数据挂到 app 实例上
|
![]() |
9
michaelluang 2024-07-17 13:05:52 +08:00
创建一个对象实例,在不同页面中引用这个对象实例。
``` // postModel.js class PostModel { constructor() { this.post = ''; } get post() { return this._post; } set post(post) { this._post = post; } } const postData = new PostModel(); export default postData; // pageA import postData from './postModel.js'; postData.post = 'new post'; // pageB import postData from './postModel.js'; const post = postData.post; ``` |
![]() |
10
duanxianze 2024-07-17 13:22:34 +08:00
存到本地就好了,简单方便,不用想那么多
|
![]() |
11
duanxianze 2024-07-17 13:25:24 +08:00
再补充,不仅简单方便,而且易于跨平台,还易维护,哪怕忘了删也没事,前端不差这一点空间
|
![]() |
13
LHRUN 2024-07-17 14:42:14 +08:00
方案太多了, 自带的有 event channel , 或者自己写一个公用的方法,或者存到 app 或者本地都行,看你们的习惯
|
![]() |
14
zhtyytg 2024-07-17 14:51:30 +08:00
提交还得先跳转一次页面? kidding?
|
![]() |
15
daysv 2024-07-17 15:07:05 +08:00
在某些情况,比如 app 内,localstorage 加定时器也能凑合。
|
![]() |
16
hoshizukiko 2024-07-17 15:42:58 +08:00
我这是有个公用的 js 类专门处理页面传递.
跳转的时候存,到了下一个页面的 onload 之类的地方取并且删除就行了 |
![]() |
17
yKXSkKoR8I1RcxaS 2024-07-17 15:56:02 +08:00
localstorage 最完美的办法,还可以和自动保存兼容。
|
![]() |
18
otakustay 2024-07-17 16:17:29 +08:00
sessionStorage 吧,这种数据用 localStorage 还是有点不太合适?
|
![]() |
19
nekochyan 2024-07-17 16:27:06 +08:00
如果是同一个小程序,挂载 APP 实例上就好了,类似于全局变量;如果是跳转到其他小程序,需要用到官方 API
|
20
emws31 2024-07-17 16:30:41 +08:00
在 h5 碰到这种问题了。localstorage 有 5M 存储上限,这种大参数不合适。找个压缩工具压一下再存入 localstorage ,或者使用 9 楼的方案比较好。
|
![]() |
21
Vegetable 2024-07-17 16:31:52 +08:00
我是真的很难理解为什么前端们会有让后端存页面状态这种想法。
我是真的遇到过,要求后端把上一个页面提交的数据,再下一个页面返回过来这种前端。 最经典的就是把什么 checked:true, idx:1 这种莫名其妙的属性一起发给后端让后端保存。 |