Angular 导出输入值6

Angular 导出输入值6,angular,angular6,Angular,Angular6,在Angular 6中,我有以下代码: import { Component, OnInit } from '@angular/core' import { FormGroup, FormBuilder} from '@angular/forms'; @Component({ selector: 'app-form', templateUrl: './form.component.html', styleUrls: ['./form.component.scss'],

在Angular 6中,我有以下代码:

import { Component, OnInit } from '@angular/core'
import { FormGroup, FormBuilder} from '@angular/forms';

@Component({
    selector: 'app-form',
    templateUrl: './form.component.html',
    styleUrls: ['./form.component.scss'],
})

export class FormComponent implements OnInit {
    formulario: FormGroup

    constructor(private formBuilder: FormBuilder) {}

    ngOnInit() {
        this.formulario = this.formBuilder.group({
            pesquisa: [null],
        })
    }
    teste() {
        console.log(this.formulario.value.pesquisa)
    }
}
如何导出“this.formulario”以便在服务中使用

我通过ngSubmit捕获输入中输入的数据,并希望将其传递到API的url(在服务中定义)


我是一个初学者,我没有找到足够清晰的解决方案来理解。

您应该首先将
服务
注入
组件中。这样,您就可以使用
表单数据作为输入,从组件调用
服务
方法
。这是向服务器传递
表单数据的推荐方法。从您的服务中,您可以提取所有表单数据并构建一个请求对象。或者您提取组件内部并将其传递给服务以进行api调用

示例代码:

@Component({
    selector: 'app-form',
    templateUrl: './form.component.html',
    styleUrls: ['./form.component.scss'],
    providers : [AppService]
})

export class FormComponent implements OnInit {
    formulario: FormGroup

    constructor(private formBuilder: FormBuilder, private _appService : AppService) {}

    ngOnInit() {
        this.formulario = this.formBuilder.group({
            pesquisa: [null],
        })
    }
    teste() {
       // You can also extract form data inside component itself and then prepare object to pass it to service
       let myData = {
         name : this.formulario.value.userName,
         firstName : this.formulario.value.firstName
       }
        this._appService.saveData(myData);
        console.log(this.formulario.value.pesquisa)
    }
}

在Angular中,组件应该注入服务。因此,您可以在提交时调用传递表单的服务:
onSubmit(){this.myService.method(this.formulario);}
查看表单的可能副本