Observable和http json问题
我有一个问题,因为我从来没有在*n中绘制变量“datos”, 我认为问题在于渲染, 因此,实现了“可观察的”,但它仍然不起作用 谢谢你的帮助 “标题菜单.component.ts”Observable和http json问题,json,angular,http,observable,Json,Angular,Http,Observable,我有一个问题,因为我从来没有在*n中绘制变量“datos”, 我认为问题在于渲染, 因此,实现了“可观察的”,但它仍然不起作用 谢谢你的帮助 “标题菜单.component.ts” 图像控制台错误:这里不需要异步管道,没有异步管道应该可以工作 <ul *ngIf="datos"> <li *ngFor="let dato of datos; let i = index"> {{ dato.url }} {{ dato.icono }} {{ dato.titulo }}
图像控制台错误:这里不需要异步管道,没有异步管道应该可以工作
<ul *ngIf="datos"> <li *ngFor="let dato of datos; let i =
index"> {{ dato.url }} {{ dato.icono }} {{ dato.titulo }} {{ i }}
</li>
- {dato.url}{{dato.icono}}{{dato.titulo}}{{i}
|async
管道确实有助于从可观察的流中展开数据。因此,为了使代码正常工作,您应该将可观察变量指定给datos
变量
ngOnInit() {
this.datos = this.loadJson();
}
我修正了删除代码行“changeDetection”
谢谢尝试删除异步管道(| async)作为补充,您确实应该删除异步管道(或不使用subscribe)似乎是从错误消息中看到的,您的控制台记录了您的响应(我假设),它显示了[]
,所以它将是空的?只需使用ngOnInit(){this.datos=this.loadJson();}当我将datos更改为:datos:可观察;并分配this.datos=this.loadJson().subscribe(vdatos=>this.datos=vdatos,err=>console.log(err),()=>console.log(this.datos))
我得到一个错误:“订阅”类型不可分配给“可观察”类型请帮助Pankaj先生Parkar@SantiagoMatiz检查我的答案。。它不应该在之后有部分。订阅ngOnInit
将只有this.datos=this.loadJson()代码>
import { NgModule } from '@angular/core';
import { RouterModule } from '@angular/router';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
import { HeaderMenuComponent } from './index';
@NgModule({
declarations: [
HeaderMenuComponent
],
imports: [
RouterModule,
BrowserModule,
HttpModule
],
exports: [
HeaderMenuComponent
]
})
export class HeaderMenuModule {
}
<ul *ngIf="datos"> <li *ngFor="let dato of datos; let i =
index"> {{ dato.url }} {{ dato.icono }} {{ dato.titulo }} {{ i }}
</li>
ngOnInit() {
this.datos = this.loadJson();
}
@Component({
moduleId: module.id,
selector: 'as-headermenu',
templateUrl: 'header-menu.html',
/*changeDetection: ChangeDetectionStrategy.OnPush*/
})