Vue - метод часов, использующий немедленное отображение ESlint, как ошибка - PullRequest
0 голосов
/ 16 апреля 2020

Я использую метод Vue Watch следующим образом с immediate: true

watch: {
    currentQuestion() {
      // console.log("Watch currentQuestion", "Start");
      immediate: true;
      this.selectedIndex = null;
      this.shuffleAnswers();
    }
  }

При запуске ESLint выдает ошибку: error 'immediate:' is defined but never used no-unused-labels

Я также попытался изменить Pkg JSON, но безуспешно

"eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended",
      "@vue/prettier"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {
      "no-unused-vars": "off"
    }
  }

Какую конфигурацию мне нужно изменить в ESLINT?

Заранее спасибо

1 Ответ

1 голос
/ 16 апреля 2020

Это потому, что наблюдатель не работает как таковой: вы используете метку вместо назначения конфигурации наблюдателя:

watch: {
  currentQuestion() {
    immediate: true;  // <--- Error here, this is a label, not a config key-value pair
    this.selectedIndex = null;
    this.shuffleAnswers();
  }
}

Поскольку immediate: true является парой ключ-значение в объекте, и не должно быть найдено в функции. Вам нужно преобразовать currentQuestion в объект - обратитесь к документации здесь: https://vuejs.org/v2/api/#watch.

Если для вашего наблюдателя требуются дополнительные настройки, вам нужно изменить его на объекта и используйте handler для определения функции наблюдателя, и вы можете добавить к нему дополнительные параметры конфигурации:

watch: {
  currentQuestion: {
    handler: function () {
      this.selectedIndex = null;
      this.shuffleAnswers();
    },
    immediate: true
  },
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...