Evan You
6b33cc4229
feat(watch): support directly watching reactive object with deep default
...
Also warn invalid watch sources
close #1110
2020-05-04 09:27:28 -04:00
Evan You
d901b6bea8
refactor(reactivity): use more efficient reactive checks
...
WeakSets and WeakMaps shows degrading performance as the amount of
observed objects increases. Using hidden keys result in better
performance especially when repeatedly creating large amounts of
reactive proxies.
This also makes it possible to more efficiently declare non-reactive
objects in userland.
2020-05-02 16:58:17 -04:00
underfin
8b85aaeea9
fix(runtime-core): should call Suspense fallback unmount hook ( #1061 )
...
fix #1059
2020-05-01 16:20:16 -04:00
Evan You
68e1ce8b66
refactor(types): mark more internal APIs
2020-05-01 10:37:40 -04:00
HiiTea
22717772dd
chore: fix typos ( #1090 )
2020-05-01 09:42:58 -04:00
Carlos Rodrigues
239270c38a
fix(keep-alive): do not invoke onVnodeBeforeUnmount if is KeepAlive component ( #1079 )
2020-04-30 14:52:03 -04:00
Evan You
ded92f93b4
fix(runtime-core): dynamic component should support falsy values without warning
2020-04-24 15:32:47 -04:00
Carlos Rodrigues
f3a9b516bd
fix(types): make return type of defineComponent
assignable to Component
type ( #1032 )
...
fix #993
2020-04-24 13:22:58 -04:00
Evan You
d7379c7647
fix(runtime-core): fix key/ref resolution for cloneVNode
...
fix #1041
2020-04-24 12:42:46 -04:00
Evan You
dcf2458fa8
fix(runtime-core): fix dynamic node tracking in dynamic component that resolves to plain elements
...
fix #1039
2020-04-24 12:18:51 -04:00
Evan You
ff4d1fcd81
fix(runtime-core): mixin options that rely on this context should be deferred
...
Also ensure consistent option apply order with Vue 2, close #1016 , close #1029
2020-04-22 16:36:18 -04:00
Andrew Talbot
cebad64d22
feat(runtime-core): improve warning for extraneous event listeners ( #1005 )
...
fix #1001
2020-04-20 16:40:59 -04:00
Evan You
171cfa404f
fix(runtime-core): should not cast prop value if prop did not change
...
fix #999
2020-04-20 14:16:25 -04:00
Evan You
d7ca1c5c6e
fix(runtime-core): fix user attched public instance properties that start with "$"
2020-04-17 10:23:10 -04:00
Carlos Rodrigues
99fd158d09
fix(watch): fix deep watchers on refs containing primitives ( #984 )
2020-04-17 09:55:41 -04:00
Evan You
370fc820cc
refactor(runtime-core): refactor instance public proxy context object
2020-04-16 12:49:50 -04:00
Evan You
b2662a62c5
wip: separate setupState
2020-04-16 11:50:33 -04:00
Evan You
0709380c5f
feat(runtime-core): skip emit warn if has equivalent onXXX prop
2020-04-16 11:27:52 -04:00
Evan You
bfd6744fb1
perf(runtime-core): use raw context on component options init
2020-04-16 10:39:51 -04:00
Evan You
24e5ab33f5
refactor(runtime-core): remove need for internal instance sink
2020-04-16 10:09:20 -04:00
pikax
dcb5985c00
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
2020-04-15 15:54:26 +01:00
Evan You
3178504273
refactor(reactivity): make readonly non-tracking
2020-04-14 23:49:46 -04:00
Evan You
78977c3997
fix(scheduler): sort jobs before flushing
...
This fixes the case where a child component is added to the queue before
its parent, but should be invalidated by its parent's update. Same logic
was present in Vue 2.
Properly fixes #910
ref: https://github.com/vuejs/vue-next/issues/910#issuecomment-613097539
2020-04-14 17:31:35 -04:00
Evan You
c80b857eb5
fix(runtime-core): should resolve value instead of delete for dynamic props with options
2020-04-14 16:17:35 -04:00
pikax
6a66b7b60a
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
2020-04-13 18:32:14 +01:00
Evan You
7cbf684611
fix(runtime-core): fix kebab-case props update
...
fix #955
2020-04-13 12:37:31 -04:00
Evan You
6eb3399311
fix(runtime-dom): fix patching for attributes starting with on
...
fix #949
BREAKING CHANGE: Only props starting with `on` followed by an uppercase
letter or a non-letter character are considered event listeners.
2020-04-10 11:57:07 -04:00
Evan You
55566e8f52
refactor(runtime-core): remove emit return value
...
BREAKING CHANGE: this.$emit() and setupContext.emit() no longer
return values. For logic that relies on return value of listeners,
the listener should be declared as an `onXXX` prop and be called
directly. This still allows the parent component to pass in
a handler using `v-on`, since `v-on:foo` internally compiles
to `onFoo`.
ref: https://github.com/vuejs/rfcs/pull/16
2020-04-10 10:59:46 -04:00
pikax
ab9add4f78
types: bring back my changes
2020-04-08 21:34:00 +01:00
pikax
5ae74144f2
Merge remote-tracking branch 'github/master' into changing_unwrap_ref
...
# Conflicts:
# packages/reactivity/src/ref.ts
# packages/runtime-core/__tests__/apiTemplateRef.spec.ts
# packages/runtime-core/src/apiWatch.ts
2020-04-08 21:21:04 +01:00
Evan You
e804463492
feat(asyncComponent): add onError
option for defineAsyncComponent
...
BREAKING CHANGE: `retryWhen` and `maxRetries` options for
`defineAsyncComponent` has been replaced by the more flexible `onError`
option, per https://github.com/vuejs/rfcs/pull/148
2020-04-07 14:34:42 -04:00
Evan You
cb504c287f
refactor(runtime-core): refactor slots resolution
...
Get rid of need for setup proxy in production mode and improve console
inspection in dev mode
2020-04-06 21:06:53 -04:00
Evan You
ec4a4c1e06
refactor(runtime-core): refactor props resolution
...
Improve performance in optimized mode + tests
2020-04-06 17:37:47 -04:00
Evan You
c28a9196b2
fix(runtime-core): fix globalProperties in check on instance render proxy
2020-04-06 11:41:28 -04:00
Evan You
899287ad35
feat(runtime-core): improve component public instance proxy inspection
2020-04-05 18:39:22 -04:00
Evan You
e42cb54394
fix(runtime-core): support attr merging on child with root level comments
...
fix #904
2020-04-03 21:37:58 -04:00
Evan You
c7c3a6a3be
feat(runtime-core): emits validation and warnings
2020-04-03 20:40:34 -04:00
Evan You
bf473a64ea
feat(runtime-core): type and attr fallthrough support for emits option
2020-04-03 12:05:52 -04:00
Evan You
21bcdec943
refactor(runtime-core): adjust attr fallthrough behavior
...
BREAKING CHANGE: attribute fallthrough behavior has been adjusted
according to https://github.com/vuejs/rfcs/pull/154
2020-04-03 09:20:37 -04:00
Evan You
eee5095692
refactor: rename <portal>
to <teleport>
...
BREAKING CHANGE: `<portal>` has been renamed to `<teleport>`.
`target` prop is also renmaed to `to`, so the new usage will be:
```html
<Teleport to="#modal-layer" :disabled="isMobile">
<div class="modal">
hello
</div>
</Teleport>
```
The primary reason for the renaming is to avoid potential naming
conflict with [native portals](https://wicg.github.io/portals/ ).
2020-04-01 21:55:19 -04:00
Evan You
449ab039fe
feat(templateRef): should work with direct reactive property
...
close #901
2020-03-31 10:35:49 -04:00
Eduardo San Martin Morote
94562daea7
fix(inject): allow default value to be undefined
( #894 )
...
Close #892
2020-03-30 15:24:55 -04:00
Evan You
b74bab216c
feat(portal): hydration support for portal disabled mode
2020-03-30 11:24:29 -04:00
Evan You
8ce3da0104
feat(portal): support disabled prop
2020-03-30 11:24:28 -04:00
Evan You
e866434f0c
feat(portal): SSR support for multi portal shared target
2020-03-27 20:49:01 -04:00
Evan You
aafb880a0a
feat(portal): support multiple portal appending to same target
2020-03-27 18:42:57 -04:00
Evan You
c01930e60b
feat(asyncComponent): retry support
...
BREAKING CHANGE: async component `error` and `loading` options have been
renamed to `errorComponent` and `loadingComponent` respectively.
2020-03-26 20:58:31 -04:00
Cédric Exbrayat
ebc587376c
refactor(runtime-core): rename createAsyncComponent
to defineAsyncComponent
( #888 )
...
BREAKING CHANGE: `createAsyncComponent` has been renamed to `defineAsyncComponent` for consistency with `defineComponent`.
2020-03-26 11:59:54 -04:00
Evan You
925ba6bb7b
chore: fix tests
2020-03-25 17:55:09 -04:00
Evan You
16cd8eee78
fix(portal): portal should always remove its children when unmounted
2020-03-25 17:27:55 -04:00