Angular 4 - [(ngModel)]在生产站点中不会更新

时间:2018-01-25 19:15:30

标签: angular angular-ngmodel

我在使用Angular 4应用程序。我有一个模态,我输入供应商信息并创建一个。我有一个城市的选择框。

  <select class="custom-select form-control" [(ngModel)]="newSupplier.city">
       <option *ngFor="let city of cities" [ngValue]="city">{{city.name}}</option>
  </select>

当我在本地计算机上运行应用程序时,一切正常。当我选择一个城市时,newSupplier变量会更新。但是当我将应用程序部署到heroku时,应用程序工作正常,但是当我选择城市时,newSupplier变量不会更新。 PS:我在newSupplier中有其他属性,我使用输入输入,如:

<input class="form-control" type="text" [(ngModel)]="newSupplier.name">

这在我的本地和部署时都有效。

我真的不知道这个问题来自哪里。 谢谢你的帮助。

3 个答案:

答案 0 :(得分:1)

嗯是您在<form>内的输入?如果是,请在选择中添加name="supplierCity",在输入中添加name="supplierName",因为在这种情况下需要。

IE中。可能是Heroku安装的NG版本比你本地的版本好(你本地安装了最新版本的btw吗?)并崩溃了你的本地版本没有。

话虽如此,我不太了解部署到heroku,只是在这里猜测,因为我知道缺少名称attr错误只是运行时,并且运行时错误可能导致NgModel表现得很奇怪,即使页面渲染和所有(应该在控制台中显示错误......)。

答案 1 :(得分:0)

你好,你也不需要参考吗?

<input #name="ngModel" class="form-control" type="text" [(ngModel)]="newSupplier.name">

另一种可能性是添加(更改)事件处理程序

答案 2 :(得分:0)

尝试以下方法:

<强> Template.html

<select class="custom-select form-control" [(ngModel)]="citySelected">
    <option 
      *ngFor="let city of cities" 
      [ngValue]="city">
        {{city.name}}
    </option>
</select>

在您的组件上,将citySelected归因于newSupplier.city