From bf47e047be64deb0851ff34fa4ad953c89295ab3 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Mon, 03 Mar 2025 16:17:46 +0800 Subject: [PATCH] 知识库文档,数据控制层基类完善 --- _knowledges/202-数据控制层基类Pilot.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 54 insertions(+), 2 deletions(-) diff --git "a/_knowledges/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md" "b/_knowledges/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md" index ecb0df1..2fd8313 100644 --- "a/_knowledges/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md" +++ "b/_knowledges/202-\346\225\260\346\215\256\346\216\247\345\210\266\345\261\202\345\237\272\347\261\273Pilot.md" @@ -33,7 +33,7 @@ `createOptions` 是类 Pilot 的核心方法,此方法将独立申明的信息合并回原 Vue 对象 -### 主要工作 +### 主要工作:生成合并对象 * 扫描当前类,以 \$ 开头的属性或方法,去掉 \$ 符后,直接作为 Vue 的属性或方法准备合并 * 扫描当前类,非以 \$ 开头的方法,作为 Vue 对象申明中 methods 的子级方法准备合并 @@ -104,6 +104,58 @@ ### 页面能力扩展:跨页面通讯 -给实际 Vue 实例增加了 +Taro 的跨页面通讯能力,仅小程序可用,非小城不能跨页通讯非常不方便 +因此,给页面的 Vue 实例,增加了跨页面通讯的方法,兼容所有平台 + +**跨页发送:$poster** + +此方法挂载到 vue 实例的 this 上 + +```js +this.$poster(direction, action, data); +``` + +| 参数名 | 类型 | 必填 | 描述 | +| --- | --- | --- | --- | +| direction | String | 是 | 发送去向,有两个值,下一页'nextPage'、上一页'prevPage') | +| action | String | 是 | 动作名称 | +| data | any | 否 | 携带数据 | + +例如: + +```js +export class PList extends Pilot { + onSaveSetting() { + // 设置保存后,通知上页 + this.$poster('prevPage', 'settingChanged'); + } +} +``` + +**跨页接收:$onMessage** + +此方法的用法,类似生命周期的钩子 + +```js +$onMessage(action, data) {} +``` + +例如: + +```js +export class PIndex extends Pilot { + + $onMessage(action, data) { + // 接收消息,设置已变更 + if (action === 'settingChanged') { + // do something + } + } +} +``` ### 页面能扩展:跨端通讯 + +当我们进混合 APP 开发时,我们需要与 java 层进行通讯,增加了跨通讯的能力 + +(更多跨端通讯明细待续) -- Gitblit v1.9.1