Closed skirtles-code closed 3 years ago
Things I noticed:
$destroy
is removedcreateBundleRenderer
is removed
I am mostly worried about the watch
option change. It has lost some of its convenience but can be mitigated by creating an extra computed property to watch for.
Thank you for the great work. Patiently waiting for the official v3 release. I hope support for Laravel 8.0 will be added soon
Thanks a lot @skirtles-code. It is indeed non-ideal for these changes to not have corresponding RFCs, but considering the typical time needed for full RFC feedback cycles, and the impact level of these changes, we don't want to block the 3.0 release for that much longer.
(3) has been adjusted to be consistent with Vue 2 in https://github.com/vuejs/vue-next/commit/49bb44756fda0a7019c69f2fa6b880d9e41125aa
(5) the ability of using inject values inside props default is addressed via https://github.com/vuejs/vue-next/commit/58c31e36992d2647e5247de4904246fb2d6112ed
(8) has been implemented in https://github.com/vuejs/vue-next/commit/1c9a0b3e195d144ac90d22d2cc2cef6a3fd8276d
For (1), (2), (5), (7), we have also added corresponding items to the Migration Guide. Although not as detailed as RFCs, they should at least provide enough information for users getting into Vue 3 for now.
(4) and (6) are non-blocking and they can still be adjusted post release.
inject()
works now in default()
in props, but also said that corresponding item has been added to the Migration Guide which sounds contradictory for me (and I also can't find it in the guide)<template> tags with no special directives are now treated as plain elements and will result in a native <template> element
- will there be a codemode/eslint rule/whatever to detect/fix <template>
occurences in the code?v-for
seem to be a won't fix
(otherwise i wouldn't expect to see it mentioned in the docs) is there a reason that https://github.com/vuejs/vue-next/issues/1166 is still open?@yyx990803
@jacekkarczmarczyk (5) is documented at https://v3.vuejs.org/guide/migration/props-default-this.html. Support has been added for using inject
but, as it still differs from Vue 2, it has also been included in the migration guide.
As of 3.0.0-rc.10, there are several breaking changes (relative to Vue 2) that haven't yet been through the RFC process. In several cases it has also been confirmed that an RFC will be needed.
I'm sure there are some people who will be disappointed to see new RFCs holding up the release of 3.0.0. Personally, I am more concerned about having these changes undergo proper scrutiny.
I stress that these changes are already present in the 3.0.0-rc.10 code.
I'm not trying to debate the merits of the changes here, that is what the RFCs are for. However, if anyone knows of any other changes that fall into the same category then please feel free to suggest them.
v-if
andv-for
have been flipped when using both on the same element.ref
attribute inside av-for
will no longer create an array in$refs
.flush: 'post'
). In Vue 2 they were called before rendering.default
function for props no longer has access tothis
. In particular, this prevents it from using injected properties.data
is no longer recursive. Only the top-level properties are considered.watch
option no longer supports dot-delimited paths.Perhaps you're thinking that some of the items on my list don't deserve an RFC? Maybe some don't. But be careful not to dismiss the old behaviour just because you can't think of a legitimate use-case. Giving the community an opportunity to provide use-cases is a key reason for having RFCs in the first place. Even if the decision has already been made it's necessary to gather feedback for the migration guide.
I understand that there is a lot of work involved in writing an RFC. My hope is that this list will be helpful in ensuring that nothing gets missed as the 3.0.0 release approaches.