Commit Graph

1060 Commits

Author SHA1 Message Date
Evan You
0e8560d0fc fix: expose v-slot slots without scope on this.$slots
fix #9421, fix #9458
2019-02-08 13:47:17 -05:00
Evan You
57bc80a546 fix: empty scoped slot should return undefined
fix #9452
2019-02-07 10:03:13 -05:00
Evan You
d5ade28652 revert: feat: expose all scoped slots on this.$slots
This reverts commit 0129b0eb12.
2019-02-06 15:22:21 -05:00
Evan You
96a09aad99 fix(compiler): fix v-bind dynamic arguments on slot outlets
fix #9444
2019-02-06 13:58:09 -05:00
Evan You
4d4d22a3f6 fix: bail out scoped slot optimization when there are nested scopes
fix #9438
2019-02-06 12:29:00 -05:00
Evan You
24b4640c1f fix: avoid exposing internal flags on $scopedSlots
ref #9443
2019-02-06 11:35:26 -05:00
Evan You
b9de23b100 fix: async component should use render owner as force update context
Previously, an async component uses its lexical owner as the force
update context. This works when the async component is rendered in a
scoped slot because in the past parent components always force update
child components with any type of slots. After the optimization in
f219bed though, child components with only scoped slots are no longer
force-updated, and this cause async components inside scoped slots to
not trigger the proper update. Turns out they should have used the
actual render owner (the component that invokes the scoped slot) as the
force update context all along.

fix #9432
2019-02-05 22:18:05 -05:00
Evan You
44a4ca33b9 fix: restore slot-scope + v-if behavior
fix #9422
2019-02-04 22:39:35 -05:00
Evan You
0129b0eb12 feat: expose all scoped slots on this.$slots
close #9421
2019-02-04 22:25:19 -05:00
Bogdan Luca
66fd3c8dd1 fix(v-model): add value to $attrs if not defined in props (#9331)
fix #9330
2019-02-04 17:43:48 -05:00
nciont
0fb03b7831 fix: avoid blocking first input event in IE when it shouldn't (#9297)
- the original bug in #7138 only happens for `<textarea>`
- the bug doesn't happen if placeholder has empty value

fix #9042, fix #9383
2019-02-04 17:39:41 -05:00
Filipe Amaral
55bfb94a33 fix(compiler): fix inline-template crashing (#9365)
fix #9361
2019-02-04 16:49:27 -05:00
Barthélémy Ledoux
1922e7d4d9 fix(template-compiler): allow comments on the root node in templates (#9408)
In SFC templates, we are allowed to add comments to the root node. If parsing with comments flag
true, we are not anymore. This ignores the root comments in case they cannot be added.

fix #9407
2019-02-04 16:34:32 -05:00
Evan You
64f863bbb9 feat: move v-bind.prop shorthand behind flag 2019-02-02 10:49:01 -05:00
Evan You
44a17ba2cd fix: fix child forceUpdate regression
close #9396
2019-01-31 10:24:41 -05:00
Filipe Amaral
539e481f38 fix: fix v-bind:style for camelCase properties with !important (#9386) 2019-01-31 10:08:35 -05:00
Evan You
e632e9a075 fix: allow more enumerated values for contenteditable
close #9397
2019-01-31 09:56:18 -05:00
Evan You
3edb999200 polish: warn against incorrect nested v-slot usage 2019-01-30 21:33:59 -05:00
Evan You
2807fd24b0 fix: template v-slot should work with v-else conditions 2019-01-30 21:30:29 -05:00
Evan You
5851961ca3 refactor: adjust codegen for v-if on scoped slot 2019-01-30 18:12:18 -05:00
Evan You
c9e3a5d1d9 feat: detect and warn invalid dynamic argument expressions 2019-01-28 18:08:37 -05:00
Evan You
dbc0582587 feat: dynamic directive arguments for v-on, v-bind and custom directives (#9373) 2019-01-25 23:22:44 -05:00
Evan You
f219bedae8
perf: improve scoped slots change detection accuracy (#9371)
Ensure that state mutations that only affect parent scope only trigger parent update and does not affect child components with only scoped slots.
2019-01-25 22:34:06 -05:00
Evan You
1868561442 fix: fix checkbox event edge case in Firefox 2019-01-24 15:43:06 -05:00
Evan You
8cb2069aa4 test: fix tests in IE/Edge 2019-01-24 10:05:39 -05:00
Evan You
8d8457246d feat: warning for ambiguous v-slot usage 2019-01-23 10:20:01 -05:00
Evan You
67e85deae2 feat: adjust v-slot per RFC + enable flag 2019-01-22 22:21:40 -05:00
Evan You
42fdf3f837 refactor: ssrPrefetch -> serverPrefetch for more consistent naming 2019-01-18 16:43:17 -05:00
Evan You
df064cedd1 test: tests for ssr template function (#9324) 2019-01-18 11:25:37 -05:00
Evan You
4fca0454bd feat: update new slot syntax per RFC revision 2019-01-16 13:44:58 -05:00
Evan You
7fb6fdd168 build: introduce feature flags, hide new slot syntax behind flag 2019-01-15 16:22:06 -05:00
Evan You
c5c354d593 feat: new scoped slot syntax implementation update per rfc 2019-01-14 22:56:37 -05:00
Evan You
aef5b4e478 fix(ssr): should render 0 as valid value for style property with unit 2019-01-12 02:07:17 -05:00
Evan You
584e89da4a feat: support slot-props and its shorthand
See https://github.com/vuejs/vue/issues/9306 for more details.
2019-01-12 01:23:51 -05:00
Evan You
794ad0dae3 refactor: additional tweaks after revert 2019-01-11 23:09:31 -05:00
Evan You
6a2994e8f0 revert: feat: support scoped-slot usage with $slot
This reverts commit 7988a5541c.
2019-01-11 23:04:04 -05:00
Evan You
6fe07ebf5a chore: merge branch '2.6' into dev 2019-01-11 18:26:32 -05:00
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.
2019-01-11 17:53:33 -05:00
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.
2019-01-11 17:51:45 -05:00
hikerpig
743edacdb6 fix(core): fix merged twice bug when passing extended constructor to mixins (#9199)
fix #9198
2019-01-11 15:47:13 -05:00
Adrien Baron
d21e931396 fix(async component): memory leak after synchronous async loading (#9275)
fix #9229
2019-01-11 15:46:25 -05:00
Evan You
17d8bcb60e fix(ssr): should not render invalid numeric style values
Reverts part of 7d9cfebe - browsers only auto append units to
numbers when in quirksmode, so in standard mode, numbers set to
style properties that require units are invalid and should not
be rendered.
2019-01-11 14:54:10 -05:00
Evan You
7d9cfebe39 fix(ssr): properly handle invalid and numeric style properties
Ignores values that are not string or numbers, and append px as default
unit to appropriate properties.

There will still be certain cases where the user simply provides an
invalid string value to a property which will be too costly to detect
(it's possible by using the `cssstyle` package, but very heavy). But
in such cases the user would already notice the style is not working
on the client, so it's not really worth it for the perf implications.

fix #9231
2019-01-11 11:07:40 -05:00
hikerpig
537161779e fix(core): fix merged twice bug when passing extended constructor to mixins (#9199)
fix #9198
2019-01-10 16:10:54 -05:00
Evan You
c50bbde41c feat: add Vue.observable() for explicitly creating observable objects 2019-01-10 16:03:03 -05:00
Evan You
3504d7f6d6 refactor: better solution for async edge case.
Revert event delegation related changes.
2019-01-10 14:21:31 -05:00
Evan You
d855027741 test: more test cases for $slot usage detection 2019-01-10 11:18:06 -05:00
Evan You
1e5174d213 test: add more test case for watch option 2019-01-10 10:33:02 -05:00
Evan You
3be1c5d67e feat(config): expose config.useEventDelegation and default to false 2019-01-09 20:09:50 -05:00
Evan You
d2902ca8ec feat: support .property shorthand syntax for v-bind.prop modifier
close #7582
2019-01-09 17:31:04 -05:00