我有一个简单的订阅方法,在其中将响应分配给messageIds

messageIds;

this.messageService.subjectPassMessageId.subscribe(data => {
    this.messageIds = data
    console.log(this.messageIds)         // ['3', '4', '8']
})


但是,当我在其他函数调用中访问messageIds时,它为空,是否会丢失某些内容?

addTagToMessage() {
    console.log(this.messageIds)         // []     empty
}


完整方法:

   ngOnInit() {

  this.messageService.subjectPassMessageId.subscribe(data => {
    this.messageIds = data

    console.log("message ids",this.messageIds)
    })

 }

  addTagToMessage() {
   console.log("The message ids", this.messageIds) [] //empty
  }


的HTML:

  <button (click)="addTagToMessage()">Tag Message</button>

最佳答案

仅在执行addTagToMessage()方法之后,messageIds才会获取值。希望那是原因

关于javascript - 在其他函数中访问时,响应预订中设置的Angular 4值为空,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48767386/

10-09 18:14