Vue условный опрос - PullRequest
       2

Vue условный опрос

1 голос
/ 06 марта 2019
var page = new Vue({
    el: '#content-page',
    data: {
        token: null
    },

    methods: {},
    mounted: function () {
        //get token object from API
    }
});

Маркер имеет свойство syncStatus, которое может быть inProgress или completed.Я хочу условный опрос, который будет вызывать API до тех пор, пока syncStatus не получит завершенное значение.

Я мог бы сделать что-то вроде этого:

var page = new Vue({
    el: '#content-page',
    data: {
        token: null
    },

    methods: {
        //Method-get-token
        //In axios.then if syncStatus is inProgress call this method again
    },
    mounted: function () {
        //get token object from API
        //if syncStatus is inProgress call method-get-token
    }
});

Но я думаю, что должен быть какой-то более приятный способсделать это.

Есть предложения?

1 Ответ

0 голосов
/ 06 марта 2019

Если у вас нет магазина

Вы можете добавить свойство данных для хранения значения syncStatus, а затем в смонтированной функции вызвать API-интерфейс условно, чтобы продолжить проверку на изменение значения. Затем добавьте наблюдателя для магии, когда значение syncStatus изменится

Что-то вроде этого

data() {
  return {
    syncStatus: 'notStarted' //you should think of having a default value to this
  }
},
mounted() {
  window.setInterval(()=>{
    //call the api conditionally
    if (syncStatus === 'inProgress'){
      //call the api
    }
  },MilliSeconds)
},
watch: {
  syncStatus: function(newValue) {
    //do magic when the value changes
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...