我在使用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">
这在我的本地和部署时都有效。
我真的不知道这个问题来自哪里。 谢谢你的帮助。
答案 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
。