首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular 2 ngOnInit变量

Angular 2 ngOnInit变量
EN

Stack Overflow用户
提问于 2018-01-04 21:04:11
回答 3查看 1.4K关注 0票数 0

我对angular2还是个新手,对某些东西有点迷惑。

服务:

代码语言:javascript
复制
 getReports() {
            return this.http.get(GlobalVariable.BASE_API_URL + 'report/l', {headers: this.headers}).map(res => res.json());
        }

控制器:

代码语言:javascript
复制
document:any;
id:any;
    ngOnInit() {
      this.documentTypeService.getType(id).subscribe(data => {
document=data;
id= data.id;
console.log(id);
});
console.log(id); //undefined
    }

我需要ngOnInit()之外的id!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-04 21:09:44

尝试分配id,如下所示

this.id = data.id;

现在可以在ngOnIt()之外对id执行console.log操作,如下所示

console.log(this.id)

票数 1
EN

Stack Overflow用户

发布于 2018-01-04 21:08:31

您需要将值(data.id)赋值给变量(Id),如下所示。

代码语言:javascript
复制
document:any;
    id:any;
        ngOnInit() {
          this.documentTypeService.getType(id).subscribe(data => {
    document=data;
    this.id= data.id;
    console.log(this.id);
    });
    console.log(this.id); 
        }
票数 1
EN

Stack Overflow用户

发布于 2018-01-04 21:20:33

您应该编写this.id来访问类字段。如下所示:

代码语言:javascript
复制
document:any;
id:any;
ngOnInit() {
  this.documentTypeService.getType(id).subscribe(data => {
    this.document = data;
    this.id = data.id;
    console.log(this.id); 
  });
  console.log(this.id); 
}

第二个输入是undefined,这意味着当你调用console.log时,this.id仍然是空的-它们是同步执行的,而你试图访问还不存在的数据。

阅读有关异步\等待的信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48095971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档