Evan You
c5c354d593
feat: new scoped slot syntax implementation update per rfc
6 years ago
Evan You
584e89da4a
feat: support slot-props and its shorthand
See https://github.com/vuejs/vue/issues/9306 for more details.
6 years ago
Evan You
794ad0dae3
refactor: additional tweaks after revert
6 years ago
Evan You
6a2994e8f0
revert: feat: support scoped-slot usage with $slot
This reverts commit 7988a5541c
.
6 years ago
Evan You
0d2e9c46f1
fix(core): dedupe lifecycle hooks during options merge
The fix landed in #9199 causes further extended constructors used as
mixins to drop options from its inheritance chain, so a different fix
is needed.
6 years ago
Evan You
edf7df0c83
fix(core): dedupe lifecycle hooks during options merge
The fix landed in #9199 causes further extended constructors used as
mixins to drop options from its inheritance chain, so a different fix
is needed.
6 years ago
hikerpig
743edacdb6
fix(core): fix merged twice bug when passing extended constructor to mixins ( #9199 )
fix #9198
6 years ago
hikerpig
537161779e
fix(core): fix merged twice bug when passing extended constructor to mixins ( #9199 )
fix #9198
6 years ago
Evan You
c50bbde41c
feat: add Vue.observable() for explicitly creating observable objects
6 years ago
Evan You
d855027741
test: more test cases for $slot usage detection
6 years ago
Evan You
1e5174d213
test: add more test case for watch option
6 years ago
Evan You
d2902ca8ec
feat: support .property shorthand syntax for v-bind.prop modifier
close #7582
6 years ago
Evan You
23a145952c
refactor: adjust #7941 for slots unification
6 years ago
Eduardo San Martin Morote
fb6aa06090
feat(functional): add scopedSlots to context in functional components ( #7941 )
6 years ago
Evan You
5d52262f1c
feat(core): expose all slots on $scopedSlots as functions
After this change, users using render functions can always make use
of slots via `this.$scopedSlots` without worrying about whether the
slot is being passed in as scoped or not.
This should also make it easier to migrate to 3.0 where all slots are
exposed as functions that return Array of VNodes on `this.$slots`.
6 years ago
Evan You
7988a5541c
feat: support scoped-slot usage with $slot
6 years ago
Evan You
c7c13c2a15
fix(scoped-slots): ensure $scopedSlots calls always return Arrays
Also allow render functions to return an Array of a single element.
Close #8056
6 years ago
Evan You
d747469e1a
test: test case for v-for native collection support
6 years ago
Jeremy Dubois
d40eb9c288
feat(v-for): support iterables in v-for ( #8179 )
6 years ago
Pak Youngrok
9c718522ba
feat(compiler/watch): allow unicode characters in component names and watch paths ( #8666 )
close #8564
6 years ago
Evan You
1c105fb16c
test: fix test case for #8297
6 years ago
Divya
3fca52792e
feat: v-bind.sync also listens for kebab-case update event ( #8297 )
fix #6428
6 years ago
Mathieu TUDISCO
0e4e45ec74
feat: support custom toString() in text interpolation and v-html ( #8217 )
close #8093
6 years ago
Hiroki Osame
1933ee80ff
fix(provide/inject): Merges symbol provides ( #7926 )
6 years ago
Evan You
0ebb0f39df
fix: return inline invocation return value in v-on handlers
close #7628
6 years ago
Evan You
b00868c5cb
refactor: extract async error handling logic
6 years ago
Enkot
6e9fcfc81d
feat(errors): sync/async error handling for lifecycle hooks and v-on handlers ( #8395 )
close #6953 , close #7653
6 years ago
Evan You
b7f7f27569
feat: use event delegation when possible
This also fixes async edge case #6566 where events propagate too slow
and incorrectly trigger handlers post-patch.
6 years ago
Evan You
847e493768
fix: fix single v-for child optimization
6 years ago
Evan You
47487607fb
fix: fix v-for component with undefined value
fix #9181
6 years ago
krystal
984393fed9
test: change model text's priority case ( #9170 )
6 years ago
Matteo Fogli
87bad80f0c
fix(lifecycle): beforeUpdated should not be called if component is destroyed ( #9171 )
fix #8076
6 years ago
laoxiong
19c33a7e40
fix(v-on): correctly remove once listener ( #8036 )
fix #8032
6 years ago
Evan You
530ca1b2db
fix(core): properly handle reused vnodes
This also removes the restrictions on rendering the same slot multiple
times.
close #7913
6 years ago
Evan You
097f6229df
fix(core): avoid mutating original children when cloning vnode
The on-demand clone strategy introduced in 956756b mutates the owner
array of the cloned vnode. This causes the newly cloned vnode to be
destroyed when the parent node is destroyed. This is fixed by cloning
the children array when cloning a vnode.
fix #7975
6 years ago
ysj16
0d62bb84ff
fix: actually disable dep collection when invoking lifecycle hooks ( #9095 )
fix #9046
6 years ago
狼族小狈
c711ec189a
fix(types): support chain call for Vue.use and Vue.mixin ( #8595 )
6 years ago
Alexey Tirman
613cb52bf3
polish: improve invalid method warning with type info ( #8974 )
close #8017
6 years ago
GU Yiling
758524134e
fix: v-bind object should be overridable with kebab-cased props ( #8845 )
In addition .sync should generate camelCased event name
6 years ago
Kael
80f17fa498
fix(core): skip mixins and extends if child is already merged ( #8870 )
fix #8865
6 years ago
Matt Lavallee
2e472c5e5e
fix(component): clean up memory leak after loading async component completes ( fix #8740 ) ( #8755 )
* fix(component): clean up memory leak after loading async component completes
* fix(async component): accounting for async components with loading property
* refactor(component): simplifying memory cleanup logic
6 years ago
Adrià Fontcuberta
2686818beb
fix(error handling): handle errors on immediate watcher execution ( #8581 )
The handle callback call should be wrapped in a try/catch that explicitly calls handleError
fix #8567
6 years ago
Evan You
7b7164c11c
fix(v-model): avoid duplicate model transforms
This happens when a component directly passes down its own data object
to a child component. Fix #8436 .
6 years ago
X.L
d483a49c86
fix(compiler): normalize potential functional component children in v-for ( #8558 )
fix #8468
6 years ago
Haoqun Jiang
0b16927c9d
fix(transition): check existence of `el.parentNode` ( #8422 )
fix #8199
* fix(transition): check existence of `el.parentNode`
If the new parentNode gets a `textContent` or `innerHTML` property during
patching, the `transition` node would have been detached early, which means
`el.parentNode` no longer exists.
* fix(vdom): should not reuse nodes with `textContent` / `innerHTML` props
6 years ago
Haoqun Jiang
a64ff1957c
fix(lifecycle): updated should not be called after component being destroyed ( #8381 )
fix #8076
6 years ago
Haoqun Jiang
a71853bfc5
fix(v-pre): skip compiling custom component tags in v-pre blocks ( fix #8286 ) ( #8376 )
6 years ago
Sam Lichlyter
5489339a30
refactor(core): Replace "var" ( #8299 )
Replaces instances of "var" with "let" and "const" where applicable using the eslint 'no-var' and
'prefer-const' rules
6 years ago
Eduardo San Martin Morote
952ae33290
polish: warn when an existing property starting with $ is not pro… ( #8214 )
6 years ago
Eduardo San Martin Morote
db7287c23b
fix(shared): check dates in looseEqual ( #7940 )
Fix #7928
thanks to @w3cj for the initial version. This one is using getTime instead of toUTCString because it
is much faster to compare
6 years ago