let myPos = 0
let load = new Riload({
    el: '#loadMyArticle',
    url: '../users/myArticle',
    data: 'myPos='+myPos,
    sukses: () => {
        myPos = myPos + 1
        console.log(myPos)
    }
})


我有myPos变量,默认值为0。如果加载函数成功运行,则myPos将在每个回调中增加+1。我的问题是,如果我在sukses回调中运行console.log(myPos),它可能会增加。但是,“数据”属性中的myPos仍为0。如何在数据属性上增加此变量?

最佳答案

let myPos = 0
let load = new Riload({
  el: '#loadMyArticle',
  url: '../users/myArticle',
  data: '',
  sukses() {
    this.incrementPos()
  },
  incrementPos() {
    myPos += 1
    this.setData()
  },
  setData() {
    this.data = `myPostTracker = ${myPos}`
  }
})





通过data函数访问setData道具,可以随意设置属性。我还向对象添加了incrementPos函数,因此可以独立于success(或sukses)生命周期回调调用它。

我希望这会有所帮助-最初,当您调用sukses时,确实确实增加了myPos变量,但未重新设置data属性,因此您在字符串连接中引用的myPos变量没有更改/更新。 。



let initPos = 0

const obj = {
  myPos: initPos,
  data: '',
  success() {
    this.incrementPos()
  },
  incrementPos() {
    initPos += 1
    this.myPos = initPos
    this.setData()
  },
  setData() {
    this.data = `myPostTracker = ${this.myPos}`
  }
}


obj.success()
console.log(obj.data)

obj.incrementPos()
console.log(obj.data)

obj.incrementPos()
console.log(obj.data)

obj.incrementPos()
console.log(obj.data)





可以在myPos对象上没有obj属性的情况下完成此方法。



let myPos = 0

const obj = {
  data: '',
  success() {
    this.incrementPos()
  },
  incrementPos() {
    myPos += 1
    this.setData()
  },
  setData() {
    this.data = `myPostTracker = ${myPos}`
  }
}


obj.success()
console.log(obj.data)

obj.incrementPos()
console.log(obj.data)

obj.incrementPos()
console.log(obj.data)

obj.incrementPos()
console.log(obj.data)

关于javascript - Javascript增加对象中变量的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54180303/

10-11 06:07