Наблюдатель Vuejs не реагирует на смену реквизита - PullRequest
0 голосов
/ 11 июня 2019

У меня есть простой .vue компонент, в котором есть одна опора request и наблюдатель для наблюдения за этой опорой.Если request равно true, тогда я вызываю метод.

Проблема в том, что мой наблюдатель не реагирует на изменения.

Я попытался заставить код ниже работать.

foobar.vue

<template><div> ... </div></template>

<script>
export default {    
  // ... 
  props: {
    request: {
      type: Boolean,
      required: false,
      default: false 
    }
  },
  watch: {
    request (state) {
      if(state) {
        // run some method
      }
    } 
  }
}
</script>

Теперь я называю компонент как (после его запроса)

<template>
  <foobar :request="access"> </foobar> 

  <button @click="access = !access"> {{ access ? 'Turn off' : 'Turn on'}} </button>
</template>

<script>
export default {
  data () {
    return { access: false }
  },
  components: { foobar }
}
</script>

1 Ответ

0 голосов
/ 12 июня 2019

Установите наблюдателя на immediate.

watch: {
 request :
   immediate:true, 
    handler(state) {
      if(state){
      // run some method
      }
    }
  } 
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...