File tree 2 files changed +24
-2
lines changed
2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -4,19 +4,40 @@ import {
4
4
Component ,
5
5
type ComponentProps ,
6
6
Hook ,
7
+ injectService ,
7
8
Link ,
8
9
mergeRefs ,
9
10
Mut ,
11
+ provideService ,
10
12
VueComponent ,
11
13
} from 'vue3-oop'
12
- import { createApp , shallowRef } from 'vue'
14
+ import { createApp , defineComponent , ref , shallowRef } from 'vue'
13
15
import { ConfigProvider , Layout , Menu } from 'ant-design-vue'
14
16
import { RouterLink , RouterView } from 'vue-router'
15
17
import { RouterStartService } from './router'
16
18
import { routes } from './router/routes'
17
19
import zhCN from 'ant-design-vue/lib/locale/zh_CN'
18
20
import { setup } from './setup'
19
21
22
+ class AService {
23
+ height = ref ( 0 )
24
+ }
25
+
26
+ const A1 = defineComponent ( ( ) => {
27
+ provideService ( new AService ( ) )
28
+ return ( ) => (
29
+ < div >
30
+ < A2 > </ A2 >
31
+ </ div >
32
+ )
33
+ } )
34
+
35
+ const A2 = defineComponent ( ( ) => {
36
+ const a = injectService ( AService )
37
+ console . log ( 11111 , a )
38
+ return ( ) => < div > 111 { a . height . value } </ div >
39
+ } )
40
+
20
41
interface ChildProps {
21
42
value ?: string
22
43
'onUpdate:value' ?: ( val : string ) => any
@@ -101,6 +122,7 @@ class App extends VueComponent {
101
122
</ Layout . Sider >
102
123
< Layout . Content >
103
124
< RouterView > </ RouterView >
125
+ < A1 > </ A1 >
104
126
</ Layout . Content >
105
127
</ Layout >
106
128
</ ConfigProvider >
Original file line number Diff line number Diff line change @@ -234,7 +234,7 @@ function provideService<T extends Constructable>(...service: T[]) {
234
234
// @ts -ignore
235
235
injector . keyIds [ index ] = provider . key . id
236
236
// @ts -ignore
237
- injector . objs [ index ] = provider [ i ]
237
+ injector . objs [ index ] = service [ i ]
238
238
} )
239
239
return injector
240
240
}
You can’t perform that action at this time.
0 commit comments