Формы Angular2: получение объекта на консоли в результате ввода поля element.value

Я пытаюсь напечатать содержимое поля ввода в виде angular2, но в результате получаю объект на консоли (тип myform ControlGroup), вот мой код выглядит так, почему это происходит на самом деле

import { FORM_DIRECTIVES, ControlGroup, AbstractControl, 
FormBuilder, Validators} from 'angular2/common';


@Component({
  selector : 'formbuilder',
  template : `
    <h1> FOrm Using Formbuilder </h1>
    <form  [ngFormModel] = "myform" (ngSubmit) = "onSubmit(myform.value)">
      <lable>Name: </lable>
      <input type = "text" [ngFormControl] = "myform.controls['input1']" />
      <input type = "text" [ngFormControl] = "myform.controls['input2']" />
      <button type = "text">Submit</button>  
    </form>
  `,
  directives : [FORM_DIRECTIVES]
})
export class formbuilder {
  myform : ControlGroup ;
  ac : AbstractControl;
  constructor(fb : FormBuilder) {
    this.myform = fb.group({
      'input1' : ['ABC', Validators.required],
      'input2' : ['DEF', Validators.required]
    }); 
    this.ac = this.myform.controls['ac']
  }

  onSubmit(value : any) : void {
    console.log("submit method called "  + value);
  }
}
bootstrap(formbuilder);

person blackHawk    schedule 23.02.2016    source источник
comment
Как вы думаете, почему myform.value даст вам значение текстового поля? Вы буквально спрашиваете значение всей формы.   -  person Mike Cluck    schedule 23.02.2016


Ответы (1)


Я только что проверил ваш код, и myForm.value содержит следующее:

{input1: "ABC", input2: "DEF"}

Это соответствует значению всех элементов управления, которые вы определили.

Если вы хотите ввести определенное поле, вы можете использовать это:

this.myform.controls.input1.value;
person Thierry Templier    schedule 23.02.2016
comment
да, но почему это должно произойти объект, написанный на консоли - person blackHawk; 23.02.2016
comment
Если вы поместите только console.log(value);, вы сможете проанализировать объект в консоли и узнать, что он имеет только свойства input1 и input2... - person Thierry Templier; 23.02.2016
comment
Вы также можете использовать console.log(JSON.stringify(value)); - person Thierry Templier; 23.02.2016
comment
Ты всегда был для меня удивительным! - person blackHawk; 23.02.2016