| | |
| | | // 创建页面通讯器 |
| | | static createPoster($vm) { |
| | | return (pageType, action, data) => { |
| | | // 解除引用关系 |
| | | const nextData = JSON.parse(JSON.stringify(data || {})); |
| | | // 下一页 |
| | | if (pageType === 'nextPage') { |
| | | // 持续 3 秒,检测下一页是否存在 |
| | |
| | | const nextPage = currentPages[pageIndex + 1]; |
| | | if (nextPage) { |
| | | clearInterval(timer); |
| | | nextPage.$component.$onMessage(action, data); |
| | | nextPage.$component.$onMessage(action, nextData); |
| | | } |
| | | }, 50); |
| | | } else if (pageType === 'prevPage') { |
| | |
| | | const pageIndex = currentPages.findIndex(page => page.$component === $vm); |
| | | const prevPage = currentPages[pageIndex - 1]; |
| | | if (prevPage) { |
| | | prevPage.$component.$onMessage(action, data); |
| | | prevPage.$component.$onMessage(action, nextData); |
| | | } |
| | | } else if (pageType === 'rootPage') { |
| | | const currentPages = getCurrentPages(); |
| | | const rootPage = currentPages[0]; |
| | | rootPage.$component.$onMessage(action, data); |
| | | rootPage.$component.$onMessage(action, nextData); |
| | | } |
| | | }; |
| | | } |