我试图从一个服务加载一些数据,该服务在控制台中测试时工作,它正确地显示了所需的数组,但当从我的组件调用服务的相同方法时(我需要呈现数据),它只显示[object]。。。。在控制台中,组件本身上没有任何内容。
仅供参考:正在使用的提供商(/api/departement)正常工作,因为数据可以显示在控制台中(来自服务本身的数据)。
这是我的代码:
Department.ts:
export class Departement{
public code_dep:String;
public lib_dep_AR:String;
public lib_dep_FR:String;
public countm:number;
}
Departement.service.ts
import { Departement} from './departement';
import { Http,Headers } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { Injectable } from '@angular/core';
@Injectable()
export class DepartementService{
constructor(private http:Http){}
private headers = new Headers({'Content-type':'application/json'});
private depUrl = '/api/departement';
getAllDeps():Promise<Departement[]>{
return this.http.get(this.depUrl + "/allDeparts").toPromise().
then(response=>response.json() as Departement[]);
}
// etc
}
显示.component.ts
export class Displaying implements OnInit {
departements:Departement[];
departement:Departement;
constructor(public depserv:DepartementService,public router:Router) {
}
ngOnInit() {
this.depserv.getAllDeps().then(dep =>
{ this.departements = dep;
});
//etc
}
我想在那里呈现结果
html prettyprint-override"><select name="budget" >
<option>my results down here</option>
<option *ngFor="let x of departements">{{x.lib_dep_FR}}</option>
</select>
通过移动到可观察界面进行修复
服务部
private extractData(res:Response) {
let body = res.json();
return body || [];
}
getData():Observable<Departement[]>{
return this.http.get(this.depUrl+"/allDeparts").map(this.extractData).catch(this.handleError);
}
赶上displaying.component.ts的结果
ngOnInit(){
this.depserv.getData().subscribe(
dept => this.departements = dept);
}
在displaying.component.ts
文件中,而不是这个this.departements=dep;
更改为这个this.departements=dep.json();
,然后检查你得到了什么在console.log(this.departements)
中,如果你得到对象数组或值数组,那么数据将来自x.lib_dep_FR
问题内容: 我无法通过本地主机或其他方式让ui.router在index.html上加载组件: index.html components.js “ Hello world”加载,当我使$ http通过服务时的数据也加载。但是它不会传递给组件。有什么想法吗? 问题答案: 可从中获取属性(请参阅此处和CHANGELOG.MD-已在中添加),因此不可用。 这是工作的jsFiddle(带有1.0.3-b
问题内容: 我在将服务中的数据填充到视图中时遇到问题。我有这样定义的服务 和我的控制器 如果我从控制器使用$ http.get,数据将很好地填充,但是,如果我尝试从服务中调用数据,那么我什么也不会得到。我知道查询是异步的,但是我很难理解一旦返回数据就如何填充$ scope变量。我可以使用$ rootscope广播事件并在控制器中侦听它,但这似乎并不是完成此事件的正确方法。对于如何正确执行此操作的任
使用服务在Angular 2应用程序中存储(和共享)初始值的最佳实践是什么?我有一个从服务器加载大量数据的服务,比如资源、配置以及其他数组和对象。我不想在每次加载组件或路由到视图时都加载这些数据,我只想使用应用程序启动时已经加载的这些对象和数组,并在需要时选择重新加载。问题是存储这些值的正确位置在哪里,以及如何在使用该服务的组件之间共享这些值?谢了。
我有一个包含会员信息的服务。这里的一个变量是团队字符串。 在我的组件中,我调用服务方法将信息放在变量中,然后在组件中显示它。 我想用服务中团队的唯一列表填充组件中的变量“teams”。这应该考虑到编写(因此我将使用toUpperCase()。 我的服务: 我的组成部分:
问题内容: 我是Angular的新手(也是Java语言)。我已经编写了一个Angular服务,该服务返回一个用户数组。从HTTP调用检索数据,该HTTP调用以JSON格式返回数据。记录从HTTP调用返回的JSON数据时,可以看到此调用成功,并且返回了正确的数据。我有一个调用服务以获取用户的组件和一个显示用户的HTML页面。我无法从服务到组件获取数据。我怀疑我使用的Observable错误。也许我也
我有一个类用来上传文件作为服务,比如symfony文档。https://symfony.com/doc/current/controller/upload_file.html#creating-上传服务 我使用Symfony 5。 当我在main config/services.yaml中声明服务时,这项工作正常。 但是我有一个文件管理包,我想把服务声明放在这个包中:App/AD/Explorer