From a010759e5c6d5548c25744e83b3d0ce37a5b7714 Mon Sep 17 00:00:00 2001 From: Jinjiang Date: Tue, 25 Feb 2025 21:15:59 +0800 Subject: [PATCH 1/5] docs(zh): review migration --- docs/zh/migration/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/zh/migration/index.md b/docs/zh/migration/index.md index 800333641..964451850 100644 --- a/docs/zh/migration/index.md +++ b/docs/zh/migration/index.md @@ -1,8 +1,8 @@ # 从 Vue Test Utils v1 迁移 -对 VTU v1 到 VTU v2 的更改进行回顾,并提供一些代码片段以展示所需的修改。如果你遇到未在此处记录的错误或行为差异,请[提交问题](https://github.com/vuejs/test-utils/issues/new)。 +这是一篇对 VTU v1 到 VTU v2 变更的回顾,并提供一些代码片段以展示所需的修改。如果你遇到了未在此处记录的错误或行为差异,请[创建 issue](https://github.com/vuejs/test-utils/issues/new)。 -## 更改 +## 变更 ### `propsData` 现在是 `props` From 53d64c46cb236d3a2df68af916aa66547b04fb40 Mon Sep 17 00:00:00 2001 From: Jinjiang Date: Fri, 28 Feb 2025 18:59:45 +0800 Subject: [PATCH 2/5] docs(zh): review migration --- docs/zh/migration/index.md | 86 +++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/docs/zh/migration/index.md b/docs/zh/migration/index.md index 964451850..65d3d3fa4 100644 --- a/docs/zh/migration/index.md +++ b/docs/zh/migration/index.md @@ -4,9 +4,9 @@ ## 变更 -### `propsData` 现在是 `props` +### `propsData` 现已改为 `props` -在 VTU v1 中,你使用 `propsData` 挂载选项传递 props。这令人困惑,因为你在 Vue 组件的 `props` 选项中声明 props。现在你可以使用 `props` 挂载选项传递 `props`。为了向后兼容,`propsData` 仍然被支持。 +在 VTU v1 中,你可以通过挂载选项 `propsData` 传递 props。这令人困惑,因为你在 Vue 组件中声明 props 时使用的是 `props`。现在你可以通过挂载选项 `props` 传递 `props` 了。同时为了向后兼容,`propsData` 仍然是支持的。 **之前**: @@ -38,11 +38,11 @@ const wrapper = mount(App, { ### 不再需要 `createLocalVue` -在 Vue 2 中,插件通常会修改全局 Vue 实例并将各种方法附加到原型上。从 Vue 3 开始,这种情况不再存在 - 你使用 `createApp` 创建新的 Vue 应用,而不是 `new Vue`,并使用 `createApp(App).use(/* ... */)` 安装插件。 +在 Vue 2 中,插件通常会修改全局 Vue 实例并将各种方法附加到其原型上。从 Vue 3 开始,这种情况不再存在,我们通过 `createApp` 创建新的 Vue 应用,而不是 `new Vue`,并使用 `createApp(App).use(/* ... */)` 安装插件。 -为了避免在 Vue Test Utils v1 中污染全局 Vue 实例,我们提供了 `createLocalVue` 函数和 `localVue` 挂载选项。这使你可以为每个测试拥有一个独立的 Vue 实例,避免跨测试污染。在 Vue 3 中,这不再是问题,因为插件、混入等不会修改全局 Vue 实例。 +在 Vue Test Utils v1 中,为了避免污染全局 Vue 实例的情况,我们提供了 `createLocalVue` 函数和 `localVue` 挂载选项。这使你可以为每个测试提供一个独立的 Vue 实例,避免不同测试之间污染。在 Vue 3 中,这不再是问题,因为插件、mixin 等不会修改全局 Vue 实例。 -在大多数情况下,你之前使用 `createLocalVue` 和 `localVue` 挂载选项来安装插件、混入或指令,现在可以使用 [`global` 挂载选项](/api/#global)。以下是一个使用 `localVue` 的组件和测试示例,以及它现在的样子 (使用 `global.plugins`,因为 Vuex 是一个插件): +在大多数情况下,你之前使用 `createLocalVue` 和 `localVue` 挂载选项来安装插件、mixin 或指令,现在可以使用 [`global` 挂载选项](/api/#global)。以下是一个之前使用 `localVue` 的组件和测试示例,以及它现在的样子 (利用了 `global.plugins`,因为 Vuex 是一个插件): **之前**: @@ -145,7 +145,7 @@ const wrapper = mount(App, { ### `shallowMount` 和 `renderStubDefaultSlot` -`shallowMount` 旨在存根任何自定义组件。虽然在 Vue Test Utils v1 中是这样的,但存根组件仍会渲染其默认的 ``。虽然这并非预期的行为,但一些用户对此功能表示喜欢。在 v2 中,这一行为已被修正 - **桩组件的插槽内容不再渲染**。 +`shallowMount` 旨在将某个自定义组件置换为测试替身。虽然在 Vue Test Utils v1 中是这样的,但被置换的组件仍会渲染其默认的 ``。虽然这并非预期的行为,但一些用户对此功能表示喜欢。在 v2 中,这一行为已被修正,**组件测试替身的插槽内容不再被渲染**。 给定以下代码: @@ -209,17 +209,17 @@ import { config } from '@vue/test-utils' config.global.renderStubDefaultSlot = true ``` -### `destroy` 现在是 `unmount` 以匹配 Vue 3 +### `destroy` 现已改为 `unmount` 以匹配 Vue 3 -Vue 3 将 `vm.$destroy` 重命名为 `vm.$unmount`。Vue Test Utils 也随之更改;`wrapper.destroy()` 现在是 `wrapper.unmount()`。 +Vue 3 将 `vm.$destroy` 重命名为 `vm.$unmount`。Vue Test Utils 也随之更改;`wrapper.destroy()` 现已改为 `wrapper.unmount()`。 -### `scopedSlots` 现在与 `slots` 合并 +### `scopedSlots` 和 `slots` 现已合并 -Vue 3 将 `slot` 和 `scoped-slot` 语法统一为单一语法 `v-slot`,你可以在[文档](https://v3.vuejs.org/guide/migration/slots-unification.html#overview)中阅读相关内容。由于 `slot` 和 `scoped-slot` 现在合并,因此 `scopedSlots` 挂载选项现在已弃用 - 只需使用 `slots` 挂载选项即可。 +Vue 3 将 `slot` 和 `scoped-slot` 语法统一为单一语法 `v-slot`,你可以在[文档](https://v3.vuejs.org/guide/migration/slots-unification.html#overview)中阅读相关内容。由于 `slot` 和 `scoped-slot` 现已合并,因此 `scopedSlots` 挂载选项现已被弃用,只需使用 `slots` 挂载选项即可。 -### `slots` 的作用域现在作为 `params` 暴露 +### `slots` 的作用域现在暴露为 `params` -当使用字符串模板作为插槽内容时,如果没有使用 `