是否可以使用2个单向数据绑定自定义Angular 2的NgModel数据流?



在Angular 2中,是否可以使用ngModel作为某种" 2单向数据绑定"?

我试图实现从用户LinkedIn作为建议的导入,然后应该与表单一起发布到另一个模型。

在angular文档中有这样的说明:

Inside [(ngModel)]我们可以通过单独绑定input元素的value属性和input事件来实现同样的结果。

<!--From angular.io-->
<input [value]="currentHero.firstName"
       (input)="currentHero.firstName=$event.target.value" >

我想也许会有一种方法来使用ngModel与[value]和(input)作为两个独立的数据流,这意味着,导入是从用户模型,然后发布到公司模型。

下面是我的代码片段:

<div class="form-group">
    <label for="industry">Industry</label>
    <input type="text" class="form-control" 
        [value]="user.linkedIn.positions.values[0].company.industry" 
        (input)="company.industries=$event.target.value" 
        name="industry" required>
</div>
例如,我之前的表单代码看起来像这样:(没有任何导入或任何东西。基础后请求我有工作只是很好,一个新的公司被提交到我的数据库)
<input type="text" 
    class="form-control" 
    [(ngModel)]="company.industries" 
    name="industry" required #name="ngModel">

一些typescript代码:

getCurrentUser() {
this.userService
  .getCurrentUser()
  .then(user => this.user = user)
  .catch(error => this.error = error);
}
submitted = false;
  onSubmit() { 
    this.submitted = true;
    this.companyService
      .save(this.company)
      .then(company => {
        this.company = company;
        this.goBack(company);
      })
      .catch(error => this.error = error);
  }

当实际的http请求发出时,我在服务器上的节点应用程序崩溃了,并且当然这可能根本不可能用ngModel实现,但我不知道,所以我从这里开始。换句话说……在angular 2中,ngModel必须只绑定到一个模型上吗?还是我可以根据自己的需要定制它,以便导入数据并将这些数据发送到另一个模型?我希望这是有意义的。

所以基本上我的问题是:使用ngModel来做这种数据绑定是一种平滑的方式还是我用这种方式?

另外:当从LinkedIn导入时,我能够从我的"用户"模型中获得正确的数据。

我不太明白你的问题。也许你正在寻找

[ngModel]="company?.industries" (ngModelChange)="company.industries = $event" 

最新更新