似乎我无法从setInterval访问构造函数属性,我需要获取并修改属性。我怎么解决这个问题?
startit() {
console.log(this.page,this.nrpages) //works
setInterval(function() {
console.log(this.currentPage,this.nrpages) // undefined undefined
答案 0 :(得分:7)
使用箭头功能
startit() {
console.log(this.page,this.nrpages) //works
setInterval(() => {
console.log(this.currentPage,this.nrpages);
});
答案 1 :(得分:3)
这里的关键点是this
指向当前的执行上下文。因此setInterval
函数this
内部并不是指外部执行上下文。你可以这样做:
startit() {
console.log(this.page,this.nrpages) //works
var thiObj = this;
setInterval(function() {
console.log(thisObj.currentPage,thisObj.nrpages) //works