AndyPike
@AndyPike
Программист, full-stack developer.

Ругается, что я проп мутирую, почему?

Я не меняю prop href, но в консоли пишет "Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders." Почему? Через getter/computed не помогает вообще никак. Всё работает, но в консоль плюётся warning'ом.

<template>
  <div>
    <a :href="href" target="_blank">
      <slot>[Default slot]</slot>
    </a>
    <slot name="named-1">[Default named slot 1]</slot>
    <slot name="named-2">[Default named slot 2]</slot>
  </div>
</template>

<script lang="ts">
import Vue from 'vue';
import { Component, Prop } from 'vue-property-decorator';

@Component
export default class SlotsComponent extends Vue {
  @Prop(String)
  href = '';
}
</script>


605afb11e1b3b415283280.png
  • Вопрос задан
  • 132 просмотра
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега Vue.js
Я не меняю prop href

А что насчёт попытки задать дефолтное значение? Может, она рассматривается как мутация параметра:

@Prop(String)
href = '';

Попытка, кстати, кривая:

It's not supported to define each default property like @Prop() prop = 'default value'.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы