角度、私はdisputas
と呼ばれるオブジェクト内のプロパティにアクセスしようとしているが、私はこのメッセージを取得しています:[TS]プロパティ「campanhaは、」タイプ「DisputaComponent []」に存在しません - 2
をプロパティ「campanha」タイプに存在しません「DisputaComponentは[]」
は、私はそのはdisputas
の配列を返すので、それはだと思うので、どのように私は内の各オブジェクトdisputa
にアクセスすることができ、disputas
内の任意のプロパティにアクセスすることはできませんこの配列?
私は何をしようとしていることはページの同じIDを持つオブジェクトのみを表示し、ここでスニペットコードがありますされています。あなたたちはそれを必要とする場合
constructor(service: DisputaService, private route:ActivatedRoute,
private router:Router, private campanha_service:FiltroNegociacaoService){
service
.lista()
.subscribe(disputas => {
if (this.disputas.campanha.cliente_id == this.campanha.cliente_id) // this is where I get the message
this.disputas = disputas;
console.log("Disputas: ", disputas);
console.log("Campanha: ", this.campanha);
}, erro => console.log("erro"))
}
、ここでは完全なコードは次のとおりです。
import { Component, OnInit } from '@angular/core';
import {DisputaService} from '../services/disputas.service';
import {FiltroNegociacaoComponent} from '../../../filtra-negociacao/components/filtra-negociacao.component';
import {FiltroNegociacaoService} from '../../../filtra-negociacao/services/filtro-negociacao.service';
import {ActivatedRoute, Routes, RouterModule, Router} from '@angular/router';
@Component({
moduleId: module.id,
selector: 'disputas',
templateUrl: `disputas.component.html`,
providers: [DisputaService, FiltroNegociacaoService]
})
export class DisputaComponent implements OnInit {
public disputas:DisputaComponent[] = [];
public loading = false;
campanhas: FiltroNegociacaoComponent;
campanha:any;
service: DisputaService;
name: string;
proposta_inicial:number;
propostas_realizadas:number = 0;
maximo_propostas:number;
status = {
status_nome: ""
}
id:number;
constructor(service: DisputaService, private route:ActivatedRoute,
private router:Router, private campanha_service:FiltroNegociacaoService){
service
.lista()
.subscribe(disputas => {
if (this.disputas.campanha.cliente_id == this.campanha.cliente_id)
this.disputas = disputas;
console.log("Disputas: ", disputas);
console.log("Campanha: ", this.campanha);
}, erro => console.log("erro"))
}
ngOnInit():void{
this.route.params.subscribe(params =>{
let id = params['id'];
this.campanha_service
.buscaPorId(id)
.subscribe(campanha => {
this.campanha = campanha;
},
erro => console.log(erro));
})
}
事前に感謝:)
ありがとうございます。メッセージは削除されますが、それでもフィルタは使用できません。どのようなIDを持っていても、すべての「争い」オブジェクトを返すことができます。何が起こっているのか知っていますか? –
このために特別なフィルタを作成する必要がありますか? –
@RenêSilvaLimaいいえ、そのまま動作するはずです。あなたは紛争の復帰をどこで確認していますか? – PierreDuc