Skip to content

Commit

Permalink
chore(better-define): add vue 2 example
Browse files Browse the repository at this point in the history
  • Loading branch information
sxzz committed Oct 27, 2022
1 parent b4f6dbc commit 6caa8dd
Show file tree
Hide file tree
Showing 4 changed files with 58 additions and 0 deletions.
14 changes: 14 additions & 0 deletions playground/vue2/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import DefineOptionsVue from './examples/define-options/index.vue'
import DefineModelVue from './examples/define-model/parent.vue'
import DefineSlotsVue from './examples/define-slots/parent.vue'
import BetterDefineVue from './examples/better-define/index.vue'
import DefineRenderVue from './examples/define-render/index.vue'
import HoistStaticVue from './examples/hoist-static/index.vue'
Expand Down Expand Up @@ -31,6 +32,11 @@ import SetupSFC from './examples/setup-sfc/index.setup'
<DefineSlotsVue />
</fieldset>

<fieldset>
<legend>betterDefine</legend>
<BetterDefineVue />
</fieldset>

<fieldset>
<legend>defineRender</legend>
<DefineRenderVue />
Expand Down Expand Up @@ -65,3 +71,11 @@ import SetupSFC from './examples/setup-sfc/index.setup'
</fieldset> -->
</div>
</template>

<style>
legend {
font-family: monospace;
font-size: 16px;
font-weight: bold;
}
</style>
26 changes: 26 additions & 0 deletions playground/vue2/src/examples/better-define/child.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<script setup lang="ts">
import type { BaseEmits, BaseProps } from './types'
export interface Props extends BaseProps {
msg: string
}
export interface Emits extends BaseEmits {
(evt: 'click'): void
}
withDefaults(
defineProps<
Props & {
union?: string | number
}
>(),
{ union: 'defaultValue' }
)
defineEmits<Emits>()
</script>

<template>
<div>
<slot />
</div>
</template>
7 changes: 7 additions & 0 deletions playground/vue2/src/examples/better-define/index.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<script setup lang="ts">
import child from './child.vue'
</script>

<template>
<child name="" msg="" :age="10" union="" />
</template>
11 changes: 11 additions & 0 deletions playground/vue2/src/examples/better-define/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
export type Str = string
export interface BaseProps {
name: Str
age: number
}

type UpdateName = 'update:name'
export interface BaseEmits {
(evt: UpdateName, name: Str): void
(evt: 'update:foo', foo: string): void
}

0 comments on commit 6caa8dd

Please sign in to comment.