Luxiaosong
1574ade607
test: Add a unit test for "$off event and this event added by $once" ( #9550 )
2019-02-28 17:54:51 -05:00
Evan You
38825ff675
test: add a test case for ssr max stack size limit
2019-02-28 17:52:20 -05:00
Evan You
03c13de38e
refactor: remove unncessary condition
2019-02-28 17:39:10 -05:00
DSha
060c3b98ef
fix: fix modifier parsing for dynamic argument with deep path ( #9585 )
...
fix #9577
2019-02-28 09:36:47 -05:00
Evan You
173042bb8e
refactor: improve test case
2019-02-21 14:14:35 -05:00
DSha
2f3020e9cc
fix( #9511 ): avoid promise catch multiple times ( #9526 )
...
* fix(#9511 ): avoid promise catch multiple times
* fix(#9511 ): add a test case for util/error/invokeWithErrorHandling
* fix(#9511 ): update test case for util/error/invokeWithErrorHandling
2019-02-21 14:01:53 -05:00
Evan You
8a80a23ecb
fix: avoid errors thrown during dom props update
...
breaking the entire app
fix #9459
2019-02-21 14:00:28 -05:00
Evan You
7ec4627902
fix: ensure generated scoped slot code is compatible with 2.5
...
fix #9545
2019-02-21 08:52:15 -05:00
Evan You
d9b27a92bd
fix: ensure scoped slots update in conditional branches
...
close #9534
2019-02-20 21:48:33 -05:00
Evan You
8f004ea44e
fix: scoped slots should update when inside v-for
...
fix #9506
2019-02-18 17:17:47 -05:00
katashin
ee29e41ef4
fix: avoid possible infinite loop by accessing observables in error handler ( #9489 )
2019-02-18 19:56:17 +01:00
Evan You
29c348f3cf
fix: fix keyCode check for Chrome autofill fake key events
...
close #9441
2019-02-11 22:54:35 -05:00
Evan You
21fca2fffc
fix: ensure scoped slot containing passed down slot content updates properly
2019-02-11 11:30:14 -05:00
Evan You
e7d49cdcf2
fix: allow passing multiple arguments to scoped slot
...
fix #9468
Note: the usage is NOT recommended
2019-02-10 22:24:18 -05:00
Evan You
060686d6ea
fix: do not cache scoped slots when mixed with normal slots
2019-02-10 22:23:22 -05:00
Evan You
8a800867fe
fix: new syntax slots without scope should also be exposed on functional slots()
2019-02-08 14:45:45 -05:00
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
Evan You
23a145952c
refactor: adjust #7941 for slots unification
2019-01-09 16:35:39 -05:00
Eduardo San Martin Morote
fb6aa06090
feat(functional): add scopedSlots to context in functional components ( #7941 )
2019-01-09 16:18:14 -05:00
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`.
2019-01-09 15:35:57 -05:00
Evan You
7988a5541c
feat: support scoped-slot usage with $slot
2019-01-07 22:26:44 -05:00
Evan You
d278da20a0
test: fix LRU upgrade
2019-01-07 12:15:15 -05:00
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
2018-12-26 17:17:42 -05:00
Evan You
d747469e1a
test: test case for v-for native collection support
2018-12-26 16:02:50 -05:00
Evan You
7a9290421d
build: fix chrome headless on CI
2018-12-26 15:48:19 -05:00
Evan You
85d8ad64aa
build: use headless chrome by default for unit tests
2018-12-26 15:38:52 -05:00
Jeremy Dubois
d40eb9c288
feat(v-for): support iterables in v-for ( #8179 )
2018-12-26 15:38:19 -05:00
Evan You
e1abedb9e6
feat(compiler): add whitespace option, deprecate preserveWhitespace option
...
close #9208
2018-12-26 14:12:34 -05:00
Pak Youngrok
9c718522ba
feat(compiler/watch): allow unicode characters in component names and watch paths ( #8666 )
...
close #8564
2018-12-26 10:02:54 -05:00
Evan You
325fc7693c
feat(compiler): output codeframe in browser compiler
2018-12-21 23:55:48 -05:00
Jason
b31a1aa887
feat(compiler): output source range for compiler errors ( #7127 )
...
ref #6338
2018-12-21 21:58:32 -05:00
Evan You
1c105fb16c
test: fix test case for #8297
2018-12-21 14:29:57 -05:00
Divya
3fca52792e
feat: v-bind.sync also listens for kebab-case update event ( #8297 )
...
fix #6428
2018-12-21 13:34:17 -05:00
Mathieu TUDISCO
0e4e45ec74
feat: support custom toString() in text interpolation and v-html ( #8217 )
...
close #8093
2018-12-21 13:13:48 -05:00
Hiroki Osame
1933ee80ff
fix(provide/inject): Merges symbol provides ( #7926 )
2018-12-21 12:49:21 -05:00
Zhenfei You
bf0efb02b1
feat(compiler): support deindent: false in vue-template-compiler ( #7215 )
...
close #7054
2018-12-21 11:59:33 -05:00
Evan You
44940121ee
feat(ssr): add custom state serializer option
...
close #6614
2018-12-20 16:08:58 -05:00
Evan You
7ebabe2392
test: test for #8790
2018-12-20 15:54:35 -05:00
Guillaume Chau
d7a533d6f8
feat(ssr): ssrPrefetch option + context.rendered hook ( #9017 )
2018-12-20 15:26:12 -05:00
Hyunje Jun
f036cce163
feat(ssr): Add 'nonce' option to context for ssr outlet script ( #8047 )
...
close #7479
2018-12-20 15:15:04 -05:00
Evan You
9432737cf8
fix: cover more cases in v-on inline return value
2018-12-20 12:20:09 -05:00
Evan You
0ebb0f39df
fix: return inline invocation return value in v-on handlers
...
close #7628
2018-12-20 11:32:06 -05:00
Evan You
b00868c5cb
refactor: extract async error handling logic
2018-12-20 10:26:56 -05:00
Enkot
6e9fcfc81d
feat(errors): sync/async error handling for lifecycle hooks and v-on handlers ( #8395 )
...
close #6953 , close #7653
2018-12-20 10:02:28 -05:00
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.
2018-12-19 19:26:58 -05:00
Haoqun Jiang
850555d1fa
fix: always use microtasks for nextTick ( #8450 )
...
fix #7109 , #7546 , #7707 , #7834 , #8109
reopen #6566
2018-12-19 13:29:00 -05:00
Xin Du (Clark)
b06c784b81
fix(ssr): support rendering comment ( #9128 )
2018-12-12 11:41:08 -05:00
Evan You
847e493768
fix: fix single v-for child optimization
2018-12-11 17:47:59 -05:00
Evan You
4074104fac
perf: skip normalization on single child element v-for
2018-12-11 16:51:40 -05:00
Evan You
47487607fb
fix: fix v-for component with undefined value
...
fix #9181
2018-12-11 16:51:03 -05:00
krystal
984393fed9
test: change model text's priority case ( #9170 )
2018-12-11 11:37:39 -05:00
Matteo Fogli
87bad80f0c
fix(lifecycle): beforeUpdated should not be called if component is destroyed ( #9171 )
...
fix #8076
2018-12-11 11:31:27 -05:00
NaotoSuzuki
8fccd82569
chore: fix tag name in compiler/parser/index.js ( #9165 )
2018-12-11 11:28:40 -05:00
Andrew Hyndman
3d449376d5
fix(v-model): properly handle multiline v-model expressions ( #9184 )
...
fix #9183
2018-12-11 10:27:43 -05:00
Evan You
5d721a42b1
revert: fix(sfc): avoid deindent when pad option is specified ( #7647 )
...
This reverts commit 9d2f9a034f
.
2018-12-09 15:52:17 -05:00
Evan You
780dac561b
fix(ssr): should not warn for custom directives that do not have ssr implementation
...
fix #9167
2018-12-09 15:47:43 -05:00
sqal
a89384c8d9
test(ssr): add basic directives test ( #9166 )
2018-12-09 15:42:20 -05:00
GU Yiling
0ed0aad772
fix: fix keyName checking for space and delete in IE11 ( #9150 )
...
fix #9112
2018-12-05 15:26:58 -05:00
Evan You
1b4a8a0c1e
fix(compiler): fix codegen for v-for component inside template
...
fix #9142
2018-12-04 10:51:49 -05:00
laoxiong
19c33a7e40
fix(v-on): correctly remove once listener ( #8036 )
...
fix #8032
2018-12-02 11:33:39 -05:00
Evan You
530ca1b2db
fix(core): properly handle reused vnodes
...
This also removes the restrictions on rendering the same slot multiple
times.
close #7913
2018-12-01 21:07:18 -05:00
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
2018-12-01 17:05:36 -05:00
Subhash
ef8524ab7d
fix(compiler): wrap scoped slots v-if conditions in parens ( #9119 )
...
fix #9114
2018-12-01 00:33:59 -05:00
ysj16
0d62bb84ff
fix: actually disable dep collection when invoking lifecycle hooks ( #9095 )
...
fix #9046
2018-12-01 00:24:30 -05:00
sqal
33e669b22f
fix(ssr): computed properties should pass vm as first argument in ssr ( #9090 )
...
fix #8977
2018-12-01 00:05:13 -05:00
狼族小狈
c711ec189a
fix(types): support chain call for Vue.use and Vue.mixin ( #8595 )
2018-11-30 23:27:24 -05:00
Alexey Tirman
613cb52bf3
polish: improve invalid method warning with type info ( #8974 )
...
close #8017
2018-11-30 18:06:24 -05:00
Jovino Xu
05001e695e
fix(compiler): should keep newline after unary tags in <pre> ( #8965 )
...
fix #8950
2018-11-30 18:02:54 -05:00
Daniel Santana Rocha
2bb3199da7
polish: warn duplicate keys when patching children into empty node ( #8881 )
...
close #8832
2018-11-30 18:01:45 -05:00
GU Yiling
758524134e
fix: v-bind object should be overridable with kebab-cased props ( #8845 )
...
In addition .sync should generate camelCased event name
2018-11-30 17:56:41 -05:00
Kael
80f17fa498
fix(core): skip mixins and extends if child is already merged ( #8870 )
...
fix #8865
2018-11-30 17:54:16 -05:00
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
2018-11-30 17:36:08 -05:00
HcySunYang
5f6ef15fb2
polish: warn sequential index on <transition-group> ( #8748 )
2018-11-30 17:35:10 -05:00
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
2018-11-29 18:14:28 -05:00
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 .
2018-11-29 18:11:20 -05:00
X.L
d483a49c86
fix(compiler): normalize potential functional component children in v-for ( #8558 )
...
fix #8468
2018-10-24 14:02:45 -04:00
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
2018-10-24 13:26:20 -04:00
Haoqun Jiang
8f04135dba
fix(parser): allow CRLFs in string interpolations ( #8408 )
...
fix #8103
2018-10-24 13:24:55 -04:00
Haoqun Jiang
a64ff1957c
fix(lifecycle): updated should not be called after component being destroyed ( #8381 )
...
fix #8076
2018-10-24 13:24:31 -04:00
Haoqun Jiang
a71853bfc5
fix(v-pre): skip compiling custom component tags in v-pre blocks ( fix #8286 ) ( #8376 )
2018-10-24 13:24:07 -04:00
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
2018-10-24 13:07:40 -04:00
Eduardo San Martin Morote
952ae33290
polish: warn when an existing property starting with $ is not pro… ( #8214 )
2018-10-24 13:04:56 -04:00
Herrington Darkholme
46b8d2c59d
fix(server): use path.posix.join to generate public path ( #8177 )
...
fix #8167
2018-10-24 13:02:11 -04:00
Kevin Ball
ecac831691
fix(compiler): templates inside v-pre should be rendered to HTML ( #8146 )
...
close #8041
2018-10-24 13:01:29 -04:00
Evan You
e9fc04ba50
test: fix assertion
2018-10-24 12:58:21 -04:00
Jovino Xu
aef2a5f3db
fix(compiler): maybeComponent should return true when "is" attribute exists ( #8114 )
...
close #8101
2018-10-24 12:50:42 -04:00
Yuhang Liu
1b69cbde74
refactor: add empty v-bind warning(re #7973 ) ( #7988 )
...
* refactor: add empty v-bind warnings
re #7973
* Update index.js
2018-10-24 12:46:38 -04:00
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
2018-10-24 12:45:06 -04:00
Evan You
7597bb06e0
test: fix ssr tests
2018-10-24 12:42:53 -04:00
katashin
9d2f9a034f
fix(sfc): avoid deindent when pad option is specified ( #7647 )
2018-10-24 12:10:58 -04:00
Evan You
76fd45c9fd
build: upgrade eslint and use only non-stylistic rules
2018-10-24 12:08:32 -04:00
Evan You
52f9d3f492
build: upgrade webpack & karma
2018-10-24 10:41:38 -04:00
Vikram Rangaraj
12e8efc2e7
workflow: upgraded to babel 7 ( #8948 )
2018-10-23 18:40:55 -04:00
Evan You
6b1d431a89
Revert "perf: avoid unnecessary re-renders when computed property value did not change ( #7824 )"
...
This reverts commit 653aac2c57
.
2018-09-18 10:21:55 -04:00
Tim
d280937045
test(e2e): trigger click on .new-todo instead of footer ( #7938 )
2018-08-20 17:52:06 -04:00
Haoqun Jiang
c21b89ebed
fix(ssr): fix double escaping of staticClass values ( #7859 ) ( #8037 )
2018-08-20 17:49:18 -04:00
Yuriy Alekseyev
59860b0a75
refactor: make the warning messages more explicit ( close #7764 ) ( #7881 )
2018-08-17 10:40:46 -04:00
Edd Yerburgh
c94482743c
feat: add async option ( #8240 )
...
This is an option intended only for testing purposes, and should not be used in
application code.
2018-08-16 16:26:02 -04:00
Evan You
3d36a443c7
fix: fix potential xss vulnerability in ssr when using v-bind
2018-08-01 12:33:47 -07:00
Zhenfei You
62265035c0
feat(weex): support object syntax of class ( #7930 )
2018-04-07 00:24:23 -04:00
Evan You
f148077437
chore: format
2018-03-23 19:21:34 -04:00
Evan You
653aac2c57
perf: avoid unnecessary re-renders when computed property value did not change ( #7824 )
...
close #7767
2018-03-23 19:03:27 -04:00
Evan You
b7445a2b94
fix: beforeUpdate should be called before render and allow state mutation ( #7822 )
...
fix #7481
2018-03-23 19:03:00 -04:00
Evan You
de42278d34
fix: ensure init/prepatch hooks are still repsected
...
this address a regression introduced in 984927a
which
causes vue-router#1338 to resurface.
2018-03-23 19:01:24 -04:00
dherman
7b387390aa
fix: correct the has
implementation in the _renderProxy
( #7878 )
...
It's feasible that someone might ask if something other than a string is
in the proxy such as a `Symbol` that lacks a `charAt` method. This aligns
the implementation with the `getHandler`.
2018-03-22 09:53:28 -04:00
Evan You
62a922e865
fix: fix wrongly matched named slots in functional components
...
This is a subtle edge case caused when a stateful component triggers
a self re-render, which reuses cached slot nodes. The cached slot
nodes, if returned from a functional render fn, gets the fnContext
property which causes subsequent slot resolving to not function
properly. To fix this, nodes returned from functional components
need to be cloned before getting assigned fnContext.
fix #7817
2018-03-13 17:48:52 -04:00
Piotr Kaminski
9084747e30
fix(core): Make set/delete warning condition for undefined, null and ( #7818 )
...
primitive values more precise. Corrects #7452
2018-03-13 11:40:31 -04:00
leon
1a979c44d6
fix(ssr): fix v-show inline style rendering when style binding is array ( #7814 )
...
fix #7813
2018-03-13 11:40:22 -04:00
Hiroki Osame
a6169d1eb7
fix(model): fix static input type being overwritten by v-bind object ( #7819 )
...
fix #7811
2018-03-13 11:40:15 -04:00
Evan You
6dd73e9ee4
fix: named slots for nested functional components
...
Named slots should be respecred when passing raw children down multiple
layers of functional components.
fix #7710
2018-03-13 11:40:04 -04:00
Evan You
215f877d1b
fix(keep-alive): run prune after render for correct active component check
...
fix #7566
2018-03-13 11:39:59 -04:00
Evan You
984927a1a9
fix: fix regression on duplicate component init when using shared data objects
...
fix #7805
2018-03-13 11:39:52 -04:00
Evan You
882e7199fd
fix(ssr): fix SSR for async functional components
...
fix #7784
2018-03-13 11:39:29 -04:00
JK
666cdbd71e
test(vdom): add test case for #7786 ( #7793 )
2018-03-11 14:04:31 -04:00
Evan You
71b4b25375
fix: allow multiline expression in v-for
...
fix #7792
2018-03-11 11:51:51 -04:00
Evan You
81e1e47cab
fix: respect type order when boolean casting multi-typed props
...
fix #7485
2018-03-09 14:46:00 -05:00
AchillesJ
318f29fcdf
fix(core): disable dependency collection in lifecycle hooks and data getter ( #7596 )
...
This fixes the parent being updated more than necessary due to collecting child props
as dependencies during its own update computation.
fix #7573
2018-03-09 13:13:16 -05:00
Alex
6bc75cacb7
fix(v-on): return handler value when using modifiers ( #7704 )
2018-03-08 17:09:53 -05:00
Eduardo San Martin Morote
db584931e2
fix(v-model): handle trailing whitespaces in expression ( #7737 )
2018-03-08 17:01:38 -05:00
Sergei Chipiga
9e04f6af27
test: add unit tests for core/observer/dep ( #7738 )
2018-03-08 12:06:46 -05:00
Eduardo San Martin Morote
dc97a39c2f
fix(codegen): support filters with () in older browsers ( #7545 )
...
Fix #7544
Make sure no extra , is added at the end of the call so it also work with older browsers
2018-03-08 11:24:09 -05:00
Hiroki Osame
733c1be7f5
fix(inject): use hasOwn instead of 'in' for provideKey check ( #7460 )
...
fix #7284
* fix(Injection with Symbol polyfill): hasOwn instead of 'in'
Symbol polyfill adds a setter on the Object prototype so the 'in' check evaluated to true on every
object
* test(Injected properties): Ensures prototype properties aren't injected
Prototype properties were being injected, so injecting 'constructor' would have hit the first
provide-layer and not yield expected results.
2018-03-08 11:15:35 -05:00
İsmail Arılık
e9ea565d91
polish: raise warning when Vue.set/delete is called on invalid values ( #7452 )
...
close #7381
2018-03-08 10:31:40 -05:00
Evan You
80e650cfdf
chore: fix formatting
2018-03-08 09:52:27 -05:00
Evan You
9b22d86ab3
fix: install ssr helpers for functional context during SSR
...
close #7443 , ref nuxt/nuxt.js#2565
2018-03-08 09:51:03 -05:00
GU Yiling
1c0b4af5fd
fix: skip v-model & value binding collision check with dynamic type binding ( #7406 )
...
* fix #7404
2018-03-07 17:44:55 -05:00
Evan You
f7ca21eab1
fix: always install composition event listeners
...
Previously the installation was skipped on Android because
it was not needed for Chinese IME - however some IMEs such
as Japanese exhibits the same behavior as on other browers.
So it is safer to always enable the check. Closes #7367
2018-03-07 16:50:38 -05:00
Evan You
aeebf0de90
test: add test for observer lazy getter invocation
2018-03-07 15:00:40 -05:00
Evan You
f7311c90b3
refactor: move keyName alias map to compiler
2018-03-07 14:50:35 -05:00
JK
1c8e2e88ed
fix: support KeyboardEvent.key in built-in keyboard event modifiers ( #7121 )
...
fix #6900
2018-03-07 14:38:41 -05:00
Evan You
50b711af43
fix: do not special case attributes for custom elements
...
close #6864 , close #6885
2018-03-07 12:03:31 -05:00
Hanks
d6200d7026
feat(weex): update weex recycle-list compiler ( #7610 )
...
+ Support v-once
+ Generate @templateId on the root element of each component
+ Add binding-expression attribute on recycle-list
+ Fix the compile result of v-else-if and v-else
2018-03-04 22:59:21 -05:00
Hanks
990374bacb
feat(weex): support sending style sheets and class list to native ( #7530 )
...
No longer manage style sheets and class list in vue and weex-js-runtime.
Refer to https://github.com/Hanks10100/weex-native-directive/issues/14
2018-03-04 22:58:24 -05:00
Evan You
cd334070f3
fix: address potential regex backtrack
2018-02-21 13:11:11 -05:00
TB
e396eb3445
fix(ref): allow ref key to be zero ( #7676 )
...
prevents missing elements when :ref value is "0"
fix #7669
2018-02-21 10:21:51 -05:00
Guillaume Chau
5191f13472
fix(transition): should not add transition class when cancelled ( #7391 )
...
fix #7390
2018-01-05 17:45:59 -05:00
AchillesJ
05299610ea
fix(vdom): svg inside foreignObject should be rendered with correct namespace ( fix #7330 ) ( #7350 )
...
* add failed test case
* fix failed test case
* fix(vdom): svg inside foreignObject should be rendered with correct namespace
* adjust comments
2018-01-05 17:44:44 -05:00
Hanks
ff8fcd2e2b
feat(weex): support parse object literal in binding attrs and styles ( #7291 )
2017-12-26 21:33:37 -05:00
Evan You
f8cb3a2393
chore: fix lint
2017-12-25 11:05:54 -05:00
Huo Chunyang
44420b7bbc
chore: correct the eslint script statement in package.json and correct the format. ( #7308 )
2017-12-24 12:28:28 -05:00
Evan You
144a4dd860
build: rename build/ to scripts/
2017-12-21 20:17:47 -05:00
Evan You
41838c8e86
feat: support v-model dynamic type binding for v-bind="object"
...
close #7296
2017-12-21 11:06:43 -05:00
Evan You
d8b08387a2
fix: clean up custom events when patched component no longer have events
...
fix #7294
2017-12-21 10:36:03 -05:00
Evan You
956756b1be
refactor: use more efficient on-demand clone to handle reused node edge cases
...
removes unnecessary slot/static node clones, fix #7292
2017-12-20 19:44:24 -05:00
Evan You
8335217cb4
fix(core): handle edge cases for functional component returning arrays
...
fix #7282
2017-12-20 11:02:56 -05:00
cinwell.li
e055df82fe
fix(weex): default value for editor, fix #7165 ( #7286 )
...
* fix(weex): default value for editor, fix #7165
/cc Hanks10100
* fix(weex): recycle-list test
2017-12-20 09:05:21 -05:00
Evan You
7cc0b559e9
feat(weex): update new syntax for <recycle-list>
2017-12-19 16:19:07 -05:00
Hanks
472a2896bd
feat(weex): adjust framework entry APIs and add flow annotations ( #7272 )
...
1. Remove the "init", "reset", "getRoot" and "receiveTasks" APIs, which
are already implemented in the new version of "weex-js-runtime".
2. Use "createInstanceContext" instead of "createInstance". Vue only
needs to prepare the instance context and no longer execute the js
code. The js code will be executed by native.
3. Add flow type declarations and annotations.
2017-12-19 15:47:53 -05:00
Evan You
aac76349e7
Revert "feat: auto cache inline prop literals to avoid child re-render"
...
This reverts commit 996eb00a0a
.
2017-12-19 14:03:39 -05:00
Herrington Darkholme
bacb911f7d
fix(warning): allow symbol as vdom key ( #7271 )
2017-12-19 09:35:50 -05:00
Evan You
01c07503bf
revert: revert prop object validation
...
close #7279
2017-12-19 09:29:48 -05:00