Skip to content

Commit eaaf9bc

Browse files
committed
fix: provideservice correct value
1 parent 91b32a8 commit eaaf9bc

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

example/main.tsx

+23-1
Original file line numberDiff line numberDiff 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'
1315
import { ConfigProvider, Layout, Menu } from 'ant-design-vue'
1416
import { RouterLink, RouterView } from 'vue-router'
1517
import { RouterStartService } from './router'
1618
import { routes } from './router/routes'
1719
import zhCN from 'ant-design-vue/lib/locale/zh_CN'
1820
import { 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+
2041
interface 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>

src/di/index.ts

+1-1
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)