使用Observables的服务的Angular2可编辑表单

时间:2015-12-26 21:13:49

标签: forms angular observable rxjs

我在这里有一个描述简单形式http://plnkr.co/edit/YhtPpSmEgDEZpZ2BKNVA?p=preview

的傻瓜
<form>
  <input       [(ngModel)]='model.name'/>
  <departments [(value)]  ='model.departmentId'></departments>
</form>

它的作用:有一项服务提供数据,表格 - 显示ui用户,其中可编辑字段绑定到模型, departments_list.ts 组件显示部门列表和当前人员&#39;的部门。用户更改名称 - 模型名称已更改,用户通过单击更改部门 - 模型 departmentId 已更改。用户点击&#39;保存&#39;在控制台中,您可以看到它是屏幕上的当前模型。 一切正常,除非这是一个玩具示例,因为在现实世界中,您需要从服务器获取数据,并且会有延迟。我准备在 service.ts 第11,17行,需要取消注释才能使用完全相同的数据,但假装它是从服务器获取的。这就是我被卡住的地方......

所以问题 - 如何使用具有服务器延迟的Observable在Angular2中实现这种形式? 提前致谢

1 个答案:

答案 0 :(得分:3)

好的,你在哪里关闭:

而不是:

this.model = this.service.getPersonById(1);

你应该选择:

this.service.getPersonById(1).subscribe((data) => this.model = data; )

这是你的(重写)Plunker: http://plnkr.co/edit/sS6as6VfEwtlvY5fNSpK?p=preview