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
Evan You
c5beb9fb4c
chore: remove unused import
2020-03-25 09:48:24 -04:00
Evan You
27873dbe1c
feat(runtime-core): support app.config.globalProperties
...
per https://github.com/vuejs/rfcs/pull/117/
2020-03-25 09:28:43 -04:00
Evan You
76a83857c1
chore: fix resolveAsset test typing
2020-03-24 13:02:17 -04:00
Evan You
dbbd9990e0
chore: fix Portal test types
2020-03-24 12:58:12 -04:00
Evan You
4cb3c5c49a
test: improve $options test to use beforeCreate hook
2020-03-24 12:03:21 -04:00
Evan You
528621ba41
feat(runtime-core): support config.optionMergeStrategies
...
Note the behavior is different from Vue 2:
- merge strategies no longer apply to built-in options.
- the default value is now an empty object and no longer exposes merge
strategies for built-in options.
2020-03-24 11:59:00 -04:00