如何对某些数据值执行一次方法

时间:2019-02-04 02:20:30

标签: vue.js vuejs2

我有一个网络应用程序,它会逐步显示不同的内容。我的data属性中的值为“ data:0”,并且每次按下下一个按钮时都会递增。用户可以根据需要返回上一步进行更改。

我想做的是当方法到达某个步骤时触发一次方法。我可以使用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 :(得分:1)

您可以使用监视程序[https://vuejs.org/v2/guide/computed.html#Watchers] tp监听数据变量值的变化,并在steps达到指定值时运行特定功能。您还可以创建一些flag变量并进行适当设置,以防止再次触发该函数。