Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Observable和http json问题_Json_Angular_Http_Observable - Fatal编程技术网

Observable和http json问题

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 }}

我有一个问题,因为我从来没有在*n中绘制变量“datos”, 我认为问题在于渲染, 因此,实现了“可观察的”,但它仍然不起作用

谢谢你的帮助

“标题菜单.component.ts”


图像控制台错误:

这里不需要异步管道,没有异步管道应该可以工作

<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*/
    })