File tree Expand file tree Collapse file tree 3 files changed +85
-0
lines changed Expand file tree Collapse file tree 3 files changed +85
-0
lines changed Original file line number Diff line number Diff line change 1+ <template >
2+ <div class =" border border-solid p-4 border-1" >
3+ New defineModel is: {{ model }}
4+ </div >
5+ <div class =" border border-solid cursor-pointer p-4 border-1" @click =" update" >
6+ 👶 Child ++
7+ </div >
8+ </template >
9+
10+ <script lang="ts" setup>
11+ const model = defineModel <number >({ default: 0 });
12+ // const loading1 = defineModel<boolean>({ default: false });
13+ // const loading2 = defineModel<boolean>('loading', { required: true });
14+
15+ function update() {
16+ increase (model );
17+ }
18+
19+ function increase(value : Ref <number >){
20+ value .value ++ ;
21+ }
22+ </script >
Original file line number Diff line number Diff line change 1+ <template >
2+ <div class =" border border-solid p-4 border-1" >
3+ Old props+emits is: {{ model }}
4+ </div >
5+ <div class =" border border-solid cursor-pointer p-4 border-1" @click =" update" >
6+ 👶 Child ++
7+ </div >
8+ </template >
9+
10+ <script lang="ts" setup>
11+ const props = defineProps <{ modelValue: number }>();
12+ const emits = defineEmits <{ ' update:modelValue' : [number ] }>();
13+
14+ const model = computed ({
15+ get : () => props .modelValue ,
16+ set : val => emits (' update:modelValue' , val ),
17+ });
18+
19+ function update() {
20+ increase (model );
21+ }
22+
23+ function increase(value : Ref <number >){
24+ value .value ++ ;
25+ }
26+ </script >
Original file line number Diff line number Diff line change 1+ <template >
2+ <div class =" flex flex-col gap-4" >
3+ <div class =" border border-solid p-2 border-1 flex flex-col gap-2" >
4+ <div class =" border border-solid p-4 border-1" >
5+ Parent ModelNew {{ modelNew }}
6+ </div >
7+ <div class =" border border-solid cursor-pointer p-4 border-1" @click =" modelNew++" >
8+ 👨🏻 Parent ++
9+ </div >
10+ <div class =" border border-solid cursor-pointer p-4 border-1" @click =" modelNew=modelNew+1" >
11+ 👨🏻 Parent + 1
12+ </div >
13+ <ModelNew v-model =" modelNew" />
14+ </div >
15+ <div class =" border border-solid p-2 border-1 flex flex-col gap-2" >
16+ <div class =" border border-solid p-4 border-1" >
17+ Parent ModelOld {{ modelOld }}
18+ </div >
19+ <div class =" border border-solid cursor-pointer p-4 border-1" @click =" modelOld++" >
20+ 👨🏻 Parent ++
21+ </div >
22+ <div class =" border border-solid cursor-pointer p-4 border-1" @click =" modelOld=modelOld+1" >
23+ 👨🏻 Parent +1
24+ </div >
25+ <ModelOld v-model =" modelOld" />
26+ </div >
27+ </div >
28+ </template >
29+
30+ <script lang="ts" setup>
31+ definePageMeta ({
32+ name: ' ModelRef binding' ,
33+ });
34+
35+ const modelNew = shallowRef (1000 );
36+ const modelOld = shallowRef (2000 );
37+ </script >
You can’t perform that action at this time.
0 commit comments