Typescript / Angular7不允许我更改变量值

时间:2019-05-09 22:28:48

标签: angular typescript

在我的home.page.ts中,我定义了一个变量,其值在执行回调函数后会随之变化。但是,当我想再次使用它时,在我的代码中,它具有默认值。示例:

export class Home implements OnInit {

test_value = 'a';

constructor(){
//Here I call a function automatically which I expect a 
//callback function to handle the response.
}

myCallbackFunction(result){
   this.test_value = 'b';
}

//Later I push a button to do some action
myButton() {
   console.log(this.test_value); // displays 'a' even I changed
                                 // the value in my callback
} 

}

如何正确分配值?

2 个答案:

答案 0 :(得分:0)

在传递回调时,使用bind()或向右箭头函数保留this

请参阅:
https://stackblitz.com/edit/typescript-angular7-does-not-allow-me-to-change-variable-value
第24和26行

答案 1 :(得分:-2)

在控制台上打印之前,请调用该函数。

export class Home implements OnInit {

  test_value = 'a';

  constructor(){
  //Here I call a function automatically which I expect a 
  //callback function to handle the response.
  }

  myCallbackFunction(){
     this.test_value = 'b';
  }

  //Later I push a button to do some action
  myButton() {
     this.myCallbackFunction();
     console.log(this.test_value); // displays 'b' 
  } 
}