Skip to content

Commit af114ee

Browse files
authored
refactor: injectの書き方をより良い形に (#2497)
1 parent 39d2948 commit af114ee

File tree

2 files changed

+6
-13
lines changed

2 files changed

+6
-13
lines changed

src/components/Dialog/DictionaryEditWordDialog.vue

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,10 +163,7 @@
163163
<script setup lang="ts">
164164
import { inject, ref } from "vue";
165165
import { QInput } from "quasar";
166-
import {
167-
DictionaryManageDialogContext,
168-
dictionaryManageDialogContextKey,
169-
} from "./DictionaryManageDialog.vue";
166+
import { dictionaryManageDialogContextKey } from "./DictionaryManageDialog.vue";
170167
import AudioAccent from "@/components/Talk/AudioAccent.vue";
171168
import ContextMenu from "@/components/Menu/ContextMenu/Container.vue";
172169
import { useRightClickContextMenu } from "@/composables/useRightClickContextMenu";
@@ -175,9 +172,7 @@ import type { FetchAudioResult } from "@/store/type";
175172
176173
const store = useStore();
177174
178-
const context = inject<DictionaryManageDialogContext>(
179-
dictionaryManageDialogContextKey,
180-
);
175+
const context = inject(dictionaryManageDialogContextKey);
181176
if (context == undefined)
182177
throw new Error(`dictionaryManageDialogContext == undefined`);
183178
const {

src/components/Dialog/DictionaryManageDialog.vue

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -124,11 +124,9 @@
124124
</template>
125125

126126
<script lang="ts">
127-
import { Ref, ComputedRef } from "vue";
127+
import { Ref, ComputedRef, type InjectionKey } from "vue";
128128
129-
export const dictionaryManageDialogContextKey = "dictionaryManageDialogContext";
130-
131-
export interface DictionaryManageDialogContext {
129+
export const dictionaryManageDialogContextKey: InjectionKey<{
132130
wordEditing: Ref<boolean>;
133131
surfaceInput: Ref<QInput | undefined>;
134132
selectedId: Ref<string>;
@@ -153,7 +151,7 @@ export interface DictionaryManageDialogContext {
153151
toInitialState: () => void;
154152
toWordEditingState: () => void;
155153
cancel: () => void;
156-
}
154+
}> = Symbol("dictionaryManageDialogContextKey");
157155
</script>
158156

159157
<script setup lang="ts">
@@ -426,7 +424,7 @@ const toDialogClosedState = () => {
426424
dictionaryManageDialogOpenedComputed.value = false;
427425
};
428426
429-
provide<DictionaryManageDialogContext>(dictionaryManageDialogContextKey, {
427+
provide(dictionaryManageDialogContextKey, {
430428
wordEditing,
431429
surfaceInput,
432430
selectedId,

0 commit comments

Comments
 (0)