Как выполнить метод один раз для определенного значения данных - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть веб-приложение, которое выполняет шаги, показывающие различный контент.У меня есть значение «data: 0» в моем свойстве data и увеличивается каждый раз, когда нажимается следующая кнопка.Пользователь может вернуться к шагу, чтобы внести изменения, если это необходимо.

То, что я пытаюсь сделать - это вызвать метод один раз, когда он достигнет определенного шага.Могу ли я использовать v-on: change для проверки этого конкретного значения данных, и если да, то где бы я разместил этот обработчик?Этот метод должен запускаться только при первом обращении к конкретному шагу, чтобы избежать проблем, когда пользователь возвращается.

data: {

 addedKeywords: false,
 newAds:[
  []
  ]
 },
 methods: {
 baseAds(){
  if(this.step3Base == false){
    this.newAds[0].push({
      id: 0,
      headline1: 'Headline 1',
      headline2: 'Headline 2',
      headline3: 'headline3',
      desc1: 'This is your description 1',
      desc2: 'This is your description 2',
      finalurl: 'www.finalURL.com',
      path1: '',
      path2: '',
      boolean: true
    })
    for(var x = 1; x < this.options.length; x++){
      this.newAds.push([]);
    }
  }
  this.step3Base = true;
 },
 restOfAds (){
  var length = this.options.length
  if(this.addedKeywords === false){
    for(var x = 1; x < length; x++){
      this.newAds[x].push({
        id: x,
        headline1: 'New',

      })
    }
    this.addedKeywords = true;
  }
 },
 lengthInput: function (){

  return this.options.length

}
},
watch: {
lengthInput: function(oldlength, newLength){
  if(newLength > oldlength && this.addedKeywords != false){
    for(var x = oldLength; x < newLength; x++){
      this.newAds.push([{
        id: x,
        headline1: 'New',

      }])
    }
  }

}
}

1 Ответ

0 голосов
/ 04 февраля 2019

Вы можете использовать наблюдателей [https://vuejs.org/v2/guide/computed.html#Watchers] tp, чтобы прослушивать изменения значения переменной данных и запускать определенную функцию, когда steps достигает указанного значения.Вы также можете создать некоторую переменную flag и установить ее соответствующим образом, чтобы предотвратить повторный запуск функции.

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