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/