Açısal 2 ile bir NativeScript uygulaması oluşturdum, uygulamanın ön ucunda görmeyi beklediğim nesneler var. davranışı, bir nesneyi ngOnInit() içinde doğrudan diziye iter eğer çalışır, ancak ngOnInit() içinde bir söz oluşturursam, bu çalışmaz. Burada kodu:Açısal 2, diziyi ngOnInit vaadini gösterdikten sonra görüntüyü yenilemiyor
export class DashboardComponent {
stories: Story[] = [];
pushArray() {
let story:Story = new Story(1,1,"ASD", "pushed");
this.stories.push(story);
}
ngOnInit() {
this.pushArray(); //this is shown
var promise = new Promise((resolve)=>{
resolve(42);
console.log("promise hit");
});
promise.then(x=> {
this.pushArray(); //this is NOT shown
});
}
}
göreceli html: i "console.log (JSON tetikleyen bir düğme oluşturduk
<Label *ngFor="let story of stories" [text]='story.message'></Label>
uygulama başladığında ben sadece bir baskı uygulanmasını
ama daha. stringify (this.stories));" ve o anda, düğmeye dokunduğumda, ui değiştirilen diziyi algılar ve diğer itilmiş nesne görünür.DÜZENLEME:
Bu iplik daha basit bir örnek hazırlandı: Angular 2: when i change a variable in a promise.than in ngOnInit the view doesn't refresh
Sayfayı yeniden yüklerseniz, değişiklikler mi görüntüleniyor? –