File tree Expand file tree Collapse file tree 3 files changed +8
-4
lines changed Expand file tree Collapse file tree 3 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -1148,6 +1148,7 @@ defineComponent({
11481148 this . $on ( 'foo' , ( ) => { } )
11491149 this . $ssrContext
11501150 this . $isServer
1151+ this . $children [ 0 ] . $root . $children
11511152 return h ( 'div' , { } , [ ...this . $slots . default ! ] )
11521153 }
11531154} )
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ class Test extends Vue {
1616 this . $isServer
1717 this . $ssrContext
1818 this . $vnode
19+ this . $root . $children [ 0 ] . $children [ 0 ]
1920 }
2021
2122 // test property reification
Original file line number Diff line number Diff line change @@ -35,6 +35,8 @@ export interface CreateElement {
3535 ) : VNode
3636}
3737
38+ type NeverFallback < T , D > = [ T ] extends [ never ] ? D : T
39+
3840export interface Vue <
3941 Data = Record < string , any > ,
4042 Props = Record < string , any > ,
@@ -47,10 +49,10 @@ export interface Vue<
4749 // properties with different types in defineComponent()
4850 readonly $data : Data
4951 readonly $props : Props
50- readonly $parent : Parent extends never ? Vue : Parent
51- readonly $root : Root extends never ? Vue : Root
52- readonly $children : Children extends never ? Vue [ ] : Children
53- readonly $options : ComponentOptions < Vue >
52+ readonly $parent : NeverFallback < Parent , Vue >
53+ readonly $root : NeverFallback < Root , Vue >
54+ readonly $children : NeverFallback < Children , Vue [ ] >
55+ readonly $options : NeverFallback < Options , ComponentOptions < Vue > >
5456 $emit : Emit
5557
5658 // Vue 2 only or shared
You can’t perform that action at this time.
0 commit comments