Skip to content

Commit bd5874e

Browse files
committed
feat(docs): Update translations in sfc-script-setup.md
1 parent 5bfda79 commit bd5874e

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

src/api/sfc-script-setup.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -209,32 +209,32 @@ const emit = defineEmits<{
209209

210210
Это ограничение было снято в версии 3.3. Последняя версия Vue поддерживает возможность ссылки на импортированные и ограниченный набор сложных типов в месте для использования типа. Однако, так как преобразование типов во время выполнения все еще основано на AST, некоторые сложные типы, требующие фактического анализа, например, условные типы, не поддерживаются. Вы можете использовать условные типы для типизации одного входного параметра, но не для цельного объекта входных параметров.
211211

212-
### Reactive Props Destructure <sup class="vt-badge" data-text="3.5+" /> {#reactive-props-destructure}
212+
### Реактивная деструктуризация входных параметров <sup class="vt-badge" data-text="3.5+" /> {#reactive-props-destructure}
213213

214-
In Vue 3.5 and above, variables destructured from the return value of `defineProps` are reactive. Vue's compiler automatically prepends `props.` when code in the same `<script setup>` block accesses variables destructured from `defineProps`:
214+
Во Vue 3.5 и выше переменные, деструктурированные из возвращаемого значения `defineProps`, являются реактивными. Компилятор Vue автоматически добавляет префикс `props.`, когда код в одном и том же блоке `<script setup>` обращается к переменным, деструктурированным из `defineProps`:
215215

216216
```ts
217217
const { foo } = defineProps(['foo'])
218218

219219
watchEffect(() => {
220-
// runs only once before 3.5
221-
// re-runs when the "foo" prop changes in 3.5+
220+
// выполняется только один раз до 3.5
221+
// повторно запускается при изменении входного параметра "foo" в 3.5+
222222
console.log(foo)
223223
})
224224
```
225225

226-
The above is compiled to the following equivalent:
226+
Все вышесказанное сводится к следующему эквиваленту:
227227

228228
```js {5}
229229
const props = defineProps(['foo'])
230230

231231
watchEffect(() => {
232-
// `foo` transformed to `props.foo` by the compiler
232+
// `foo` преобразуется компилятором в `props.foo`
233233
console.log(props.foo)
234234
})
235235
```
236236

237-
In addition, you can use JavaScript's native default value syntax to declare default values for the props. This is particularly useful when using the type-based props declaration:
237+
Кроме того, вы можете использовать нативный JavaScript синтаксис для значений по умолчанию, чтобы задекларировать значения по умолчанию для входных параметров. Это особенно полезно при использовании объявления входных параметров на основе типов:
238238

239239
```ts
240240
interface Props {
@@ -245,9 +245,9 @@ interface Props {
245245
const { msg = 'hello', labels = ['one', 'two'] } = defineProps<Props>()
246246
```
247247

248-
### Default props values when using type declaration <sup class="vt-badge ts" /> {#default-props-values-when-using-type-declaration}
248+
### Значения входных параметров по умолчанию при использовании объявления типов <sup class="vt-badge ts" /> {#default-props-values-when-using-type-declaration}
249249

250-
In 3.5 and above, default values can be naturally declared when using Reactive Props Destructure. But in 3.4 and below, Reactive Props Destructure is not enabled by default. In order to declare props default values with type-based declaration, the `withDefaults` compiler macro is needed:
250+
В версии 3.5 и выше значения по умолчанию могут быть объявлены естественным образом при использовании Reactive Props Destructure. Но в 3.4 и ниже Reactive Props Destructure не включена по умолчанию. Чтобы объявить входные параметры по умолчанию с помощью объявления на основе типов, необходим макрос компилятора `withDefaults`:
251251

252252
```ts
253253
interface Props {
@@ -264,12 +264,12 @@ const props = withDefaults(defineProps<Props>(), {
264264
Это объявление будет преобразовано в эквивалентный аналог `default` как при объявлении входных параметров во время выполнения кода. Кроме того, макрос `withDefaults` предоставляет проверку типа для значений по умолчанию и гарантирует, что в возвращаемом типе `props` будут удалены флаги необязательных свойств (?) для свойств, у которых объявлены значения по умолчанию.
265265

266266
:::info
267-
Note that default values for mutable reference types (like arrays or objects) should be wrapped in functions when using `withDefaults` to avoid accidental modification and external side effects. This ensures each component instance gets its own copy of the default value. This is **not** necessary when using default values with destructure.
267+
Обратите внимание, что значения по умолчанию для изменяемых ссылочных типов (например, массивов или объектов) следует оборачивать в функции при использовании `withDefaults`, чтобы избежать случайного изменения и внешних побочных эффектов. Это гарантирует, что каждый инстанс компонента получит свою собственную копию значения по умолчанию. Это **не** необходимо при использовании значений по умолчанию с деструктуризацией.
268268
:::
269269

270270
## defineModel() {#definemodel}
271271

272-
- Only available in 3.4+
272+
- Доступно только в 3.4+
273273

274274
Этот макрос позволяет объявить двустороннее связывание для входного параметра, который может быть использовано внутри `v-model` из родительского компонента. Пример использования также рассматривает в руководстве [`v-model` на компоненте](/guide/components/v-model).
275275

@@ -380,7 +380,7 @@ defineExpose({
380380

381381
## defineOptions() {#defineoptions}
382382

383-
- Only supported in 3.3+
383+
- Поддерживается только в 3.3+
384384

385385
Этот макрос может быть использован для объявления опций компонента прямо внутри `<script setup>` без создания отдельного `<script>` тега:
386386

0 commit comments

Comments
 (0)