Vuejs Computed Property предупреждает, что у меня нет сеттера - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть такой код:

<button
  @click="addFieldRow"
  :disabled="disableAddRow"
>

disableAddRow - это вычисляемое свойство, подобное этому:

disableAddRow() {
  if (this.currentIndex !== null) {
    return !this.fieldList[this.currentIndex].filterApplied;
  }
  if (this.currentIndex === null && this.fieldList.length === 1) {
    return true;
  }
  return false;
}

Работает как должно, но в моем журнале консоли яполучить следующее предупреждение:

[Vue warn]: вычисленное свойство "disableAddRow" было назначено, но у него нет установщика.

Я не понимаю, зачем мне нужносеттер?И если мне нужен сеттер, я не понимаю, что мне нужно установить ...

Спасибо за ваше время и помощь!

1 Ответ

0 голосов
/ 19 ноября 2018

Это предупреждение означает, что где-то в вашем коде вы присваиваете значение вычисляемому свойству disableAddRow.

Код, которым вы поделились, не вызовет этого предупреждения, поэтому вы должны случайно присвоить ему значение где-то еще. Вам просто не нужно устанавливать значение вычисляемого свойства, и вы больше не получите это предупреждение.


Для немного большего контекста: вычисляемые свойства по умолчанию извлекают значение, возвращаемое определяющей функцией. Однако можно также определить сеттеры для вычисляемых свойств (на что ссылается предупреждение).

...