49bb44756f
BREAKING CHANGE: watch APIs now default to use `flush: 'pre'` instead of `flush: 'post'`. - This change affects `watch`, `watchEffect`, the `watch` component option, and `this.$watch`. - As pointed out by @skirtles-code in [this comment](https://github.com/vuejs/vue-next/issues/1706#issuecomment-666258948), Vue 2's watch behavior is pre-flush, and the ecosystem has many uses of watch that assumes the pre-flush behavior. Defaulting to post-flush can result in unnecessary re-renders without the users being aware of it. - With this change, watchers need to specify `{ flush: 'post' }` via options to trigger callback after Vue render updates. Note that specifying `{ flush: 'post' }` will also defer `watchEffect`'s initial run to wait for the component's initial render. |
||
---|---|---|
.circleci | ||
.github | ||
.vscode | ||
packages | ||
scripts | ||
test-dts | ||
.eslintrc.js | ||
.gitignore | ||
.ls-lint.yml | ||
.prettierrc | ||
api-extractor.json | ||
CHANGELOG.md | ||
jest.config.js | ||
LICENSE | ||
package.json | ||
README.md | ||
rollup.config.js | ||
tsconfig.json | ||
yarn.lock |
vue-next
Status: Release Candidate
-
All planned RFCs have been merged.
-
All merged RFCs have been implemented.
-
Vue CLI now has experimental support via vue-cli-plugin-vue-next.
-
There is also a simple plain webpack-based setup with Single-File Component support available here.
Please note that there could still be undocumented behavior inconsistencies with 2.x. When you run into such a case, please make sure to first check if the behavior difference has already been proposed in an existing RFC. If the inconsistency is not part of an RFC, then it's likely unintended, and an issue should be opened (please make sure to use the issue helper when opening new issues).
In addition, the current implementation requires native ES2015+ in the runtime environment and does not support IE11 (yet). The IE11 compatible build will be worked on after we have reached RC stage.
The documentation of Vue 3 can be found at https://v3.vuejs.org/
Status of the rest of the framework
Vue Router
Vuex
The only difference between Vuex 4.0 and 3.x is that it's Vue 3 compatible! It is ready to enter RC together with Vue 3 core.
Vue CLI
As of v4.5.0, vue-cli
now provides built-in option to choose Vue 3 preset when creating a new project.
JSX Support
There are currently two JSX transform implementations for Vue 3 with slightly differing syntax (for Vue specific features):
We are using this thread to unify the design and land on an official specification of how Vue features should be handled in JSX. If you use Vue with JSX, please provide your feedback in that thread.
Other Projects
Project | Status |
---|---|
vue-devtools | [Github] |
eslint-plugin-vue | [Github] |
@vue/test-utils | [Github] |
vue-class-component | [Github] |
vue-loader | [Github] |
rollup-plugin-vue | [Github] |
Contribution
See Contributing Guide.