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
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
狼族小狈
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
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
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
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
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
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
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
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
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
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
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
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
Evan You
1dd6b6f046
refactor: adjust weex branch coverage and build for merging into dev
2017-12-18 21:51:38 -05:00
Evan You
996eb00a0a
feat: auto cache inline prop literals to avoid child re-render
2017-12-18 12:55:02 -05:00
Alexander Sokolov
d02bb37efb
feat: warn misspelled keys on prop validation object ( #7198 )
2017-12-14 11:39:32 -05:00
Evan You
4e00688e4a
build: update dev dependencies
2017-12-12 18:42:44 -05:00
laoxiong
023f171f58
fix(core): warn duplicate keys in all cases ( #7200 )
...
close #7199
2017-12-12 16:38:32 -05:00
Guillaume Chau
bd4819e6cf
fix: data() should be called with vm as first argument in mixins
...
fix #7191
2017-12-06 09:11:49 -05:00
Evan You
5875c7c490
fix: revert shared static tree cache to avoid memory leak
...
revert f0a66c5
fix #7184
2017-12-05 11:17:36 -05:00
Evan You
f5ce6b50cf
fix(v-for): support array and nested destructuring in v-for
2017-11-27 16:54:15 -05:00
Evan You
0f7c443dca
fix: block unnecessary input event on textarea placeholder in IE
...
close #7138
2017-11-27 12:13:37 -05:00
Evan You
8b43c81ed4
ci: bump transition unit test duration
2017-11-24 10:16:07 -05:00
Evan You
aa8262540a
fix: fix v-for iterator parsing destructuring + parens without index
2017-11-24 10:09:04 -05:00
Evan You
dd21eacc33
fix: fix async component resolving in sibling mounted hook
...
fix #7107
2017-11-22 17:12:34 -05:00
Evan You
604e081d04
fix: ensure functionalContext is cloned during slot clones
...
fix #7106
2017-11-22 16:37:24 -05:00
Evan You
3932a451a1
fix(keep-alive): should not destroy active instance when pruning cache
...
fix #7105
2017-11-22 15:26:39 -05:00
Evan You
ebcef58645
fix: fix v-for alias deconstruct regression
...
fix #7096
2017-11-21 09:06:19 -05:00
Evan You
a23b913796
fix: fix <keep-alive> include/exclude logic for anonymous components
2017-11-20 10:04:06 -05:00
Evan You
59dea37403
fix: fix v-model :value warning on custom component
...
fix #7084
2017-11-18 14:41:22 -05:00
Evan You
4d8226fb2c
fix: keep-alive should not cache anonymous components
...
This only happens if the component is returned by a intermediate
functional or abstract component, e.g. <router-view>. Fix #6938 .
2017-11-17 10:30:51 -05:00
Evan You
6d6b3739e1
fix: should warn unknown components inside <keep-alive>
2017-11-17 10:23:23 -05:00
Robert Pemberton
1e146037fa
feat: warn if both v-model and v-bind:value used on same element ( #7056 )
...
* test($compile): warn if v-model and :value used on same text input
#7048
* test($compile): make v-model and v-bind:value warning apply to all but exceptions
#7048
* test($compile): move v-model/:value conflict warner to model.js
#7048
* style: split long warning messages onto new lines
2017-11-16 14:54:11 -05:00
Evan You
5db86b4e94
fix(ssr): ensure hydrated class & style bindings are reactive
...
fix #7063
2017-11-16 11:19:52 -05:00
Evan You
6b799190a5
test: add test case for #6687 + fix lingering comment node
2017-11-16 10:09:15 -05:00
Evan You
13196b25b8
fix: clone slot nodes for render fn usage as well
...
fix #7041
2017-11-13 21:43:20 -05:00
Evan You
df82aeb0bf
fix: should warn unknown components during hydration
...
fix #6998
2017-11-13 15:52:01 -05:00
Evan You
daed1e7355
fix: normlaize @click.right and @click.middle
...
fix #7020
2017-11-13 12:55:56 -05:00
Evan You
f0a66c5817
refactor: cache v-once and purely static trees separately
2017-11-07 17:10:54 -05:00
Evan You
5a9da95b8a
fix(slots): properly handle nested named slot passing
...
fix #6996
2017-11-03 16:45:54 -04:00
laoxiong
58a39dfa0e
fix(model): correctly set select v-model initial value on patch ( #6910 )
2017-11-02 22:03:19 -04:00
Soo Jae Hwang
0c703e34d1
fix(v-model): v-if / v-else not working with :type + v-model ( #6955 )
...
fix #6918
2017-11-02 17:09:46 -04:00
Mads K
c24f3e4208
fix(events): properly $off array of events ( #6949 )
2017-11-02 16:58:21 -04:00
Evan You
f2e00f756f
fix: special case for static muted attribute in firefox
...
fix #6887
2017-11-02 16:55:05 -04:00
Evan You
1cf02efda2
fix: also clone component slot children during deepClone
...
fix #6891 , fix #6915
2017-10-26 18:00:19 +02:00
Evan You
83ed92608d
fix: $set should respect properties on prototype chain
...
fix #6845
2017-10-26 13:53:46 +02:00
JK
b6c384dd78
fix(core): static trees should be cached on options ( #6826 ) ( #6837 )
...
* test(once): failing test for #6826
* fix(core): static trees should be cached on options (#6826 )
2017-10-18 06:26:55 +02:00
Evan You
4e0c48511d
fix: further adjust nextTick strategy
...
fix #6813
2017-10-13 15:37:52 -04:00
Evan You
08a7fb539f
fix: v-on="object" listeners should fire after high-priority ones
...
fix #6805
2017-10-13 09:59:23 -04:00
Evan You
5665eaf985
fix: backwards compat with checkbox code generated in < 2.5
...
fix #6803
2017-10-13 09:42:53 -04:00
Eduardo San Martin Morote
15031b8542
fix(v-model): allow arbitrary naems for type binding ( #6802 )
...
Fix #6800
2017-10-13 08:55:02 -04:00
Evan You
1f84dd1c24
fix: fix empty array edge case in normalizeChildren
...
fix #6790
2017-10-13 01:09:25 -04:00
Evan You
df8f179cfc
test: make hydration spec more stable for Edge
2017-10-12 20:41:36 -04:00
Evan You
a85f95c422
test: use phantom for dev
2017-10-12 20:41:07 -04:00
Evan You
e38d006752
feat: improve template expression error message
...
close #6771
2017-10-12 11:15:23 -04:00
Evan You
b7105ae8c9
refactor: improve option type check warnings
2017-10-12 10:57:02 -04:00
Evan You
9f576aac7d
test: add test for ignoredElements
2017-10-12 09:54:17 -04:00
Evan You
421658884f
fix: fix scoped CSS for nested nodes in functional components
2017-10-11 11:17:46 -04:00
Evan You
050bb33f9b
feat: scoped CSS support for functional components
2017-10-11 10:38:46 -04:00
Evan You
ea0d227d2d
feat: functional component support for compiled templates
2017-10-10 22:33:16 -04:00
Evan You
68bdbf508b
fix: perperly handle v-if on <template> scoped slot
...
fix #6725
2017-10-10 12:21:49 -04:00
wenlu.wang
3a5432a9e3
feat(core): call data method with this value ( #6760 )
...
#6739
2017-10-10 09:39:30 -04:00
Evan You
62405aa903
revert: fix(v-model): fix input listener with modifier blocking v-model update
...
This reverts commit 6f312d636c
because the change
is no longer needed after switching nextTick to use MessageChannel.
2017-10-09 16:31:23 -04:00
Evan You
37533fd71e
refactor: improve errorCaptured propagation behavior
2017-10-09 09:51:54 -04:00
Evan You
f3fe012d54
feat(v-model): support dynamic input type binding
2017-10-07 23:18:11 -04:00
Evan You
6893499744
feat: rename inject alias from "name" to "from"
2017-10-06 17:25:33 -04:00
Evan You
6dac3dbe44
feat: rename catchError -> errorCaptured
2017-10-06 17:25:33 -04:00
Dominik Rabij
514b90b647
fix: add slot v-bind warning ( #6736 )
...
close #6677
2017-10-06 15:48:00 -04:00
Evan You
2cba6d4cb1
feat: add max prop for <keep-alive>
2017-10-05 22:01:50 -04:00
Evan You
3c65239ad4
test: improve inject default test case
2017-10-05 15:56:36 -04:00
Popescu Dan
88423fc66a
feat(inject): support providing default values for injections ( #6322 )
2017-10-05 15:44:32 -04:00
Evan You
b3cd9bc394
feat: add catchError option
...
also propagate error thrown in renderError() to global handler
2017-10-05 14:59:38 -04:00
Evan You
8295f71665
fix: warn slot-scope when used as a prop
2017-10-04 17:31:58 -04:00
Evan You
dae173d96d
feat: support denoting normal elements as scoped slot
...
also deprecate "scope" in favor of "slot-scope"
2017-10-04 17:25:39 -04:00
Evan You
4987eeb3a7
feat: v-on automatic key inference
2017-10-04 14:59:59 -04:00
Nick Messing
9734e878ec
feat: add .exact event modifier ( #5977 )
...
Allow limiting the event to the exact system modifiers specified.
close #5976
2017-10-04 12:37:00 -04:00
Evan You
e1da0d585c
feat(v-model): craete non-existent properties as reactive
...
close #5932
2017-10-03 23:30:35 -04:00
Evan You
2b5c83af6d
fix: handle errors in errorHandler
...
close #6714
2017-10-03 18:23:43 -04:00
AchillesJ
6ad44e13e9
fix(ref): preserve ref on components after removing root element ( #6718 )
...
fix #6632 , #6641
2017-10-03 18:04:23 -04:00
Chris Casola
baabd6d140
fix(compiler): warn when inline-template component has no children ( fix #6703 ) ( #6715 )
2017-10-03 18:00:52 -04:00
Evan You
cf1ff5b0dc
fix: use correct ns inside <foreignObject> as root node
...
fix #6642
2017-10-02 17:35:47 -04:00