我正在研究一个简单的angular2应用程序。
我在ngFor中遇到了ngModule +值的问题。当我使用ngModule时,表单输入中的值不会显示。如果我删除ngModule一切都很完美。但我需要使用ngModule。与帮助ngModule绑定的数据也在起作用。
这是我的HTML代码:
export class AdminComponent implements OnInit {
homeData: Object;
address: String;
city:String;
companyName: String;
country: String;
zipCode: String;
constructor(
private adminServ: AdminService
) { }
ngOnInit() {
this.adminServ.getHomeData().subscribe(res => {
if(res){
this.homeData = res;
console.log(this.homeData);
}
});
}
updateAddress(){
let newAddress = {
address: this.address,
city: this.city,
companyName: this.companyName,
country: this.country,
zipCode: this.zipCode
}
console.log(newAddress);
}
}
`
这是我的组成部分:
$(function() {
var companyId = 1740963;
JA.get('api/' + companyId + '/Transaction', function(data) {
if (!data)
return;
var items = data.Items;
if (!items)
return;
for (var i = 0; i < items.length; i++) {
var expense = items[i];
JA.renderTemplateFromPath('expenseListRow', items[i], function(template) {
var $template = $(template);
$('#expenseListBody').append($template);
$template.find('.expenseDate p').html(function(index, value) {
return moment(value, "YYYY-MM-DDTHH:mm:ss").format("DD/MM/YYYY");
});
})
}
});
})
感谢您的帮助:)
答案 0 :(得分:1)
假设您要更改显示的值,则不需要value属性,因为ngModel是双向绑定。此外,ngModel中的选择器指向控制器,而不是您循环的值。所以下面的代码应该修复它(对于地址,你可以自己完成:)):
<input type="text" class="form-control" name="address{{i}}" [(ngModel)]="data.companyAddress.address"/></div>