O formulário de ligação unidirecional Angular2 não é limpo após o salvamento dos dados
Eu tenho um formulário onde as entradas são vinculadas ao objeto unidirecional.
<input type="text" name="lastName" #lastName="ngModel" [ngModel]="selectedPers.lastName" required minlength="2">
Ao salvar o formulário, leio os dados do formulário e os envio ao servidor e atualize meu modelo com dados fictícios / vazios para eliminá-los.
this.peopleListObservable.push(newPersonFormData).then(a => {
this.clearPers();
})
clearPers() {
this.selectedPers = this.dummyPers;
this.isPersAdd = true;
}
Esse método de limpeza é separado e funciona quando eu clico a partir de um clique no botão, mas não funciona / limpa o formulário se eu chamá-lo depois de enviar meus dados para o servidor em minha promessa de salvamentothen
método. Alguma idéia de por que sinto esse comportamento e o que devo fazer para limpar minha forma?
EDIT: Eu mudei a função clearPers dessa forma com a esperança de recarregar a página:
clearPers() {
console.log('Inside clearPers function');
this.router.navigate(['/person/' + this.key]);
}
adivinhem, o log do console é impresso, mas a navegação do roteador não aconteceu.
o que estou perdendo?
EDIT 2: Obrigado @FabioAntunes por me lembrar que a idéia de roteador não funcionaria de qualquer maneira.
EDIT 3: A pergunta é feita para um projeto com a versão Angular 2 RC4. Leia abaixo a minha resposta para o que aconteceu mais tarde e deve acontecer na versão final do Angular2.