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。如何在数据属性中增加此变量?
答案 0 :(得分:1)
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)
答案 1 :(得分:0)
这仅仅是概念的一个例子。在“ sukses”回调期间访问您新创建的对象,并从那里更新“ data”字段
let myPos = 0
let load = new Riload({
el: '#loadMyArticle',
url: '../users/myArticle',
data: 'myPos='+myPos,
sukses: () => {
myPos = myPos + 1
load.data = 'myPos='+myPos
console.log(myPos)
} })