私はプロパティを編集し、ボランティアをそのままにしておきたいので、アングルで(ボランティアからxへ)プロパティをコピーしようとしています。ここでは、TSからのコードは次のとおりです。角度プロパティを別の角度プロパティにコピーする方法は?
ここvolunteership;
x ;
constructor(private viewvolunteershipService: Volunteership,
private router: Router) {}
ngOnInit() {
this.viewvolunteershipService.getVolunteership().subscribe(volunteership =>
this.volunteership = volunteership);
console.log("Volunteership", this.volunteership);
this.x = this.volunteership;
}
、HTMLに私は、私はそれから都市を選択することができますが、それは私には何も表示されませんngForのプロパティxを呼び出したいです。 xの代わりにボランティアを使うと、それは完璧に働いています。ボランティア活動をxにコピーすると、そこから都市を選ぶことができますか?
<div class="form-group" >
<label for="city" >City</label>
<select id="city" class="form-group" >
<option value=""></option>
<option *ngFor=" let z of x" >{{z.city}}</option>
</select>
</div>
私はすでに、私もObject.assign()メソッドと、まだ何を使って試してみた配列
for (var i = 0, len = this.volunteership.length; i < len; i++) {
this.x[i] = this.volunteerhip[i];
}
としてコピーしようとしました。
'subscribe'は非同期です。つまり、あなたがサービスを呼び出す間、' subscribe'の外のコードは実行を停止しません。あなたがあなたの 'volunteership'に設定したデータを使いたいなら、あなたは購読の中で、あるいはあなたのサービスがすでにデータを取得していることを保証する方法でそれを行う必要があります(例えば' change'イベントを'* ngIf =" volunteership "'を使用して表示されます) – snaplemouton