Vue предупреждает меня Невозможно установить реактивное свойство для неопределенного, нулевого или примитивного значения: null - PullRequest
2 голосов
/ 06 мая 2019

При извлечении данных из Firebase я пытаюсь установить properties из object, полученного для пользовательского интерфейса, но когда я пытаюсь установить любые изменения в данных, я получаю эту ошибку.
Ошибка в обработчике v-on: «TypeError: невозможно использовать оператор« in »для поиска« cc »в null.

Я использую Vue в режиме разработки вместе с Firebase.

beforeCreate(){
sref.get().then(sc => {
      if (sc.exists) {
        console.log(sc.data()); //this logs in the correct data
        this.school = sc.data(); //this too
        this.cc = sc.data().cc;  //also this
        this.name = sc.data().name;

Когда я делаю

console.log(this.name)

В created() отображается неопределенное значение, любая попытка изменить или обновить также выдает ошибку

Vue warn]: Cannot set reactive property on undefined, null, or primitive value: null
[Vue warn]: Error in v-on handler: "TypeError: Cannot use 'in' operator to search for 'cc' in null"

found in

---> <VSelect>
       <VForm>
         <VCard>

TypeError: Cannot use 'in' operator to search for 'cc' in null
    at Proxy.set 


Ответы [ 2 ]

3 голосов
/ 06 мая 2019

Я выяснил, где я ошибся, в моем шаблоне v-model я использовал this.school, this.name, this.cc, из-за которого приходили предупреждения, но я до сих пор не ясно во внутреннихрабочий.Я хотел бы, чтобы кто-то указал мне на нужные ресурсы.

0 голосов
/ 06 мая 2019

Простое решение: добавьте проверку v-if для вашего набора данных, где вы используете v-for. Может быть, вам понадобится template, чтобы сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...