저는 앵글 2와 컴포넌트의 ngOnInit()
에 새로운 점이 있습니다. 데이터를 얻기 위해 서비스를 호출하고 있습니다. 이 ngOnInit()
코드각도 2의 데이터 바인딩 문제가 없습니다.
import { Component, OnInit } from '@angular/core';
import { Model } from './model';
import { CustomizeModelService } from './customize-model.service';
@Component({
selector: 'app-customize-model',
templateUrl: './customize-model.component.html',
styleUrls: ['./customize-model.component.scss']
})
export class CustomizeModelComponent implements OnInit {
models = [];
constructor(private custModelService: CustomizeModelService) {}
ngOnInit() {
let params = JSON.stringify({
"query": "{models(modelname: \"TestModel\") {_id, modelname, description}}"
});
this.custModelService.getModelByName(params).subscribe(data => {
this.models.push(data);
console.log(this.models);
});
}
}
그것은 데이터를 반환하지만 내 템플릿 내가 데이터를 보간 할 때, 그것은 내가 어디 했는가 확실하지 않다 아무것도
<h3 class="title">{{models.modelname}}</h3>
를 표시하지 않습니다 내 구성 요소입니다 실수 또는 왜 데이터가 템플릿에 바인딩되지 않는지, 어떤 도움을 주시면 감사하겠습니다.
this.custModelService.getModelByName(params).subscribe(data => {
this.models.push(data);
console.log(this.models);
});
전체 템플릿을 표시 할 수 있습니까? 모델은 배열이므로 직접 모델 특성을 갖지 않습니다. 대신 * ngFor를 사용하여 배열의 각 모델을 반복해야합니다. 'this.models.push (data));'는 모델에 단일 항목으로 데이터를 추가합니다. – JayChase
@JayChase, 질문을 확인하십시오, 전체 템플릿 코드를 업데이트했습니다. – Mujahid
@JayChase * ngFor에 대한 제안에 감사드립니다. 왜 처음에 그것을 잊어 버렸는지, 지금은 작동합니다. 감사합니다 – Mujahid