首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么导致错误:当使用http服务时未激活出口?

什么导致错误:当使用http服务时未激活出口?
EN

Stack Overflow用户
提问于 2016-07-08 07:31:56
回答 1查看 3.9K关注 0票数 1

我的angular2应用程序使用ngfor指令显示来自json数组的数据。以前,为了测试目的,我已经将json数组硬编码到组件中,并且应用程序工作得很好。现在,我已经将硬编码的json数组替换为使用http请求来提供json数组的服务。我可以点击提供这些数据的链接几次(在2-4次之间变化),它可以正常工作,然后抛出错误。

我是app.routes.ts

代码语言:javascript
复制
...
{path:'deals', component:Deals},
...

路由器链路

代码语言:javascript
复制
<li id="deals" (click)="loadField('deals')"><a [routerLink]="['/deals']"><p class="propertyNavItem" id="dealsText">Deals</p></a></li>

交易部分

代码语言:javascript
复制
  dev_file:string = "dev_files/deals.json";
  list:Array<string>;

  constructor(private ghttp: GeneralHttpService){}

  ngOnInit(){
    this.ghttp.getRecommendations(this.dev_file).subscribe(
      data=>{
        this.list = data.items;
      },
      error => console.log(error),
      () => console.log("done")
    );
  }

ghttp服务

代码语言:javascript
复制
@Injectable()
export class GeneralHttpService{

  constructor(private http:Http){};

  getRecommendations(url:string){
    return this.http.get(url).map(res => res.json() );
  }
}

引发的错误是这样的。它看起来和https://github.com/angular/angular/issues/9479的问题一样

错误:未激活browser_adapter.js:86异常:错误:未激活browser_adapter.js:86异常:错误:未激活browser_adapter.js:77:13 STACKTRACE: browser_adapter.js:77:13解析:http://localhost:4200/vendor/zone.js/dist/zone.js:538:32 makeResolver/<@http://localhost:4200/vendor/zone.js/dist/zone.js:515:14 http://localhost:4200/vendor/zone.js/dist/zone.js:515:14区域C11http://localhost:4200/vendor/zone.js/dist/zone.js:356:24 NgZoneImpl/this.inner<.onInvokeTask@impl.js:36:32 Zonehttp://localhost:4200/vendor/zone.js/dist/zone.js:355:24 Zonehttp://localhost:4200/vendor/zone.js/dist/zone.js:256:29 drainMicroTaskQueue@http://localhost:4200/vendor/zone.js/dist/zone.js:474:26 ZoneTask/ code> @http://localhost:4200/vendor/zone.js/dist/zone.js:426:22 browser_adapter.js:77:13

EN

回答 1

Stack Overflow用户

发布于 2016-07-08 08:06:30

http是一个异步操作。在呈现模板时,可能还没有填充list变量。

尝试使用“猫王操作员”(?)在您的ngFor中,如下所示:

代码语言:javascript
复制
*ngFor="let listElement of list?"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38261200

复制
相关文章

相似问题

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