ngFor中的Angular 2 NgModel +值不起作用

时间:2017-05-30 09:33:44

标签: typescript

我正在研究一个简单的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");
        });
      })
    }
  });
})

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

假设您要更改显示的值,则不需要value属性,因为ngModel是双向绑定。此外,ngModel中的选择器指向控制器,而不是您循环的值。所以下面的代码应该修复它(对于地址,你可以自己完成:)):

<input type="text" class="form-control" name="address{{i}}" [(ngModel)]="data.companyAddress.address"/></div>