File tree Expand file tree Collapse file tree 2 files changed +24
-2
lines changed
Expand file tree Collapse file tree 2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -4,19 +4,40 @@ import {
44 Component ,
55 type ComponentProps ,
66 Hook ,
7+ injectService ,
78 Link ,
89 mergeRefs ,
910 Mut ,
11+ provideService ,
1012 VueComponent ,
1113} from 'vue3-oop'
12- import { createApp , shallowRef } from 'vue'
14+ import { createApp , defineComponent , ref , shallowRef } from 'vue'
1315import { ConfigProvider , Layout , Menu } from 'ant-design-vue'
1416import { RouterLink , RouterView } from 'vue-router'
1517import { RouterStartService } from './router'
1618import { routes } from './router/routes'
1719import zhCN from 'ant-design-vue/lib/locale/zh_CN'
1820import { setup } from './setup'
1921
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+
2041interface ChildProps {
2142 value ?: string
2243 'onUpdate:value' ?: ( val : string ) => any
@@ -101,6 +122,7 @@ class App extends VueComponent {
101122 </ Layout . Sider >
102123 < Layout . Content >
103124 < RouterView > </ RouterView >
125+ < A1 > </ A1 >
104126 </ Layout . Content >
105127 </ Layout >
106128 </ ConfigProvider >
Original file line number Diff line number Diff line change @@ -234,7 +234,7 @@ function provideService<T extends Constructable>(...service: T[]) {
234234 // @ts -ignore
235235 injector . keyIds [ index ] = provider . key . id
236236 // @ts -ignore
237- injector . objs [ index ] = provider [ i ]
237+ injector . objs [ index ] = service [ i ]
238238 } )
239239 return injector
240240}
You can’t perform that action at this time.
0 commit comments