wevu 1.0.0-alpha.2 → 1.0.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -32,10 +32,6 @@ import {
32
32
  } from 'wevu'
33
33
 
34
34
  defineComponent({
35
- features: {
36
- listenPageScroll: true,
37
- enableShareAppMessage: true,
38
- },
39
35
  data: () => ({ count: 0 }),
40
36
  computed: {
41
37
  doubled() {
@@ -69,7 +65,9 @@ defineComponent({
69
65
  })
70
66
  ```
71
67
 
68
+ - 小程序部分页面事件是“按需派发”(分享/滚动等):使用 weapp-vite 时,若你调用了 `onPageScroll/onShareAppMessage/...`,编译阶段会自动补齐 `features.enableOnXxx = true`;非 weapp-vite 场景可在 `defineComponent({ features: ... })` 中手动开启。
72
69
  - 当全局存在 `Component` 构造器时自动注册;否则可拿到 `component.__wevu_runtime` 手动挂载适配器。
70
+ - 分享/朋友圈/收藏是否触发由微信官方机制决定(例如右上角菜单/`open-type="share"`;朋友圈通常需配合 `wx.showShareMenu()` 开启菜单项)。
73
71
  - 组件场景使用 `defineComponent`,SFC 构建产物可调用 `createWevuComponent`。
74
72
 
75
73
  ## 状态管理
@@ -98,6 +96,18 @@ counter.$subscribe(({ type }) => console.log('mutation', type))
98
96
  counter.inc()
99
97
  ```
100
98
 
99
+ ## 事件派发(emit)
100
+
101
+ 在 `setup(props, ctx)` 中可使用 `ctx.emit(eventName, detail?, options?)`,底层直接调用小程序 `triggerEvent`。
102
+
103
+ `options` 支持:
104
+
105
+ - `bubbles`:事件是否冒泡(默认 `false`)
106
+ - `composed`:事件是否可以穿越组件边界(默认 `false`)
107
+ - `capturePhase`:事件是否拥有捕获阶段(默认 `false`)
108
+
109
+ 与 Vue 3 不同:小程序事件只有一个 `detail` 载荷,不支持 `emit(event, ...args)` 的多参数透传。
110
+
101
111
  ## 调度与适配
102
112
 
103
113
  - 更新被批量加入微任务队列,`nextTick` 与 Vue 3 行为一致。
@@ -0,0 +1,17 @@
1
+
2
+ //#region src/compiler/index.ts
3
+ const WE_VU_PAGE_HOOK_TO_FEATURE = {
4
+ onPageScroll: "enableOnPageScroll",
5
+ onPullDownRefresh: "enableOnPullDownRefresh",
6
+ onReachBottom: "enableOnReachBottom",
7
+ onRouteDone: "enableOnRouteDone",
8
+ onTabItemTap: "enableOnTabItemTap",
9
+ onResize: "enableOnResize",
10
+ onShareAppMessage: "enableOnShareAppMessage",
11
+ onShareTimeline: "enableOnShareTimeline",
12
+ onAddToFavorites: "enableOnAddToFavorites",
13
+ onSaveExitState: "enableOnSaveExitState"
14
+ };
15
+
16
+ //#endregion
17
+ exports.WE_VU_PAGE_HOOK_TO_FEATURE = WE_VU_PAGE_HOOK_TO_FEATURE;
@@ -0,0 +1,17 @@
1
+ //#region src/compiler/index.d.ts
2
+ declare const WE_VU_PAGE_HOOK_TO_FEATURE: {
3
+ readonly onPageScroll: "enableOnPageScroll";
4
+ readonly onPullDownRefresh: "enableOnPullDownRefresh";
5
+ readonly onReachBottom: "enableOnReachBottom";
6
+ readonly onRouteDone: "enableOnRouteDone";
7
+ readonly onTabItemTap: "enableOnTabItemTap";
8
+ readonly onResize: "enableOnResize";
9
+ readonly onShareAppMessage: "enableOnShareAppMessage";
10
+ readonly onShareTimeline: "enableOnShareTimeline";
11
+ readonly onAddToFavorites: "enableOnAddToFavorites";
12
+ readonly onSaveExitState: "enableOnSaveExitState";
13
+ };
14
+ type WevuPageHookName = keyof typeof WE_VU_PAGE_HOOK_TO_FEATURE;
15
+ type WevuPageFeatureFlag = (typeof WE_VU_PAGE_HOOK_TO_FEATURE)[WevuPageHookName];
16
+ //#endregion
17
+ export { WE_VU_PAGE_HOOK_TO_FEATURE, WevuPageFeatureFlag, WevuPageHookName };
@@ -0,0 +1,17 @@
1
+ //#region src/compiler/index.d.ts
2
+ declare const WE_VU_PAGE_HOOK_TO_FEATURE: {
3
+ readonly onPageScroll: "enableOnPageScroll";
4
+ readonly onPullDownRefresh: "enableOnPullDownRefresh";
5
+ readonly onReachBottom: "enableOnReachBottom";
6
+ readonly onRouteDone: "enableOnRouteDone";
7
+ readonly onTabItemTap: "enableOnTabItemTap";
8
+ readonly onResize: "enableOnResize";
9
+ readonly onShareAppMessage: "enableOnShareAppMessage";
10
+ readonly onShareTimeline: "enableOnShareTimeline";
11
+ readonly onAddToFavorites: "enableOnAddToFavorites";
12
+ readonly onSaveExitState: "enableOnSaveExitState";
13
+ };
14
+ type WevuPageHookName = keyof typeof WE_VU_PAGE_HOOK_TO_FEATURE;
15
+ type WevuPageFeatureFlag = (typeof WE_VU_PAGE_HOOK_TO_FEATURE)[WevuPageHookName];
16
+ //#endregion
17
+ export { WE_VU_PAGE_HOOK_TO_FEATURE, WevuPageFeatureFlag, WevuPageHookName };
@@ -0,0 +1,16 @@
1
+ //#region src/compiler/index.ts
2
+ const WE_VU_PAGE_HOOK_TO_FEATURE = {
3
+ onPageScroll: "enableOnPageScroll",
4
+ onPullDownRefresh: "enableOnPullDownRefresh",
5
+ onReachBottom: "enableOnReachBottom",
6
+ onRouteDone: "enableOnRouteDone",
7
+ onTabItemTap: "enableOnTabItemTap",
8
+ onResize: "enableOnResize",
9
+ onShareAppMessage: "enableOnShareAppMessage",
10
+ onShareTimeline: "enableOnShareTimeline",
11
+ onAddToFavorites: "enableOnAddToFavorites",
12
+ onSaveExitState: "enableOnSaveExitState"
13
+ };
14
+
15
+ //#endregion
16
+ export { WE_VU_PAGE_HOOK_TO_FEATURE };