我有2个组件,一个’创建’组件和一个子’形式’组件.我需要表单组件来传递submit事件以及表单数据.
真正的问题是当我记录收到的事件时,我得到2,而不是一个事件/ arg.这是它记录的内容:Event {isTrusted:true}然后是Contact {name:inputName}
如何过滤事件,以便仅在收到Contact对象时才执行操作?
父’创建’组件:
import {Component,OnInit } from 'angular2/core'; import {Contact} from './contact'; import {ContactFormComponent} from './contact-form.component'; @Component({ selector: 'contact-create',template: ` <h2>Nuevo contacto</h2> <div class="panel panel-default"> <div class="panel-body"> <contact-form [contact]="contact" (formSubmitted)="saveContact($event)"></contact-form> </div> </div> `,directives: [ContactFormComponent] }) export class ContactCreateComponent { contact: Contact = new Contact(''); constructor( private router: Router,private contactService: ContactService) { } saveContact(args) { console.log(args); } }
儿童’形式’组件
import {Component,EventEmitter} from 'angular2/core'; import {NgForm} from 'angular2/common'; import {Contact} from './contact'; @Component({ selector: 'contact-form',inputs: ['contact'],outputs: ['formSubmitted'],templateUrl: 'app/contacts/contact-form.component.html',}) export class ContactFormComponent { contact: Contact; formSubmitted: EventEmitter<any> = new EventEmitter(); onSubmit(contact) { this.formSubmitted.next(contact); } }