【问题标题】:Angular 5 GET request populate form fieldsAngular 5 GET 请求填充表单字段
【发布时间】:2018-12-15 08:26:01
【问题描述】:

如何使用来自 GET 请求的信息填写表单字段?如果用户在 API 中输入对象的 ID,则所有字段(姓名、年龄、电话等)都需要填充该对象的相应信息。

我在这个项目中使用 Angular 5 和 Bootstrap。我正在查询的 API 具有 JSON 格式的对象,并且我能够向服务器发送 POST 请求(以 JSON 对象的形式)。

目前,我的 GET 请求没有响应任何内容。控制台或应用程序中没有输出,我不知道为什么(Angular 5 GET request nonresponsive)。任何指向正确方向的人都将不胜感激!

【问题讨论】:

    标签: javascript html angular forms bootstrap-4


    【解决方案1】:

    这实际上取决于您存储信息的位置。 (数据库) Firebase 有一个可以访问其数据库的包 (npm),但大多数其他人可能会使用 Angular 的 Http 包。请参阅此处的文档:https://angular.io/api/http/Http

    【讨论】:

      【解决方案2】:

      首先创建一个服务来进行其余的调用,服务应该有 @Injectable() 并在你的模块中提供。您还必须导入 FormsModule 和 ReactiveFormsModule。

      @Injectable()
      export class SomeService {
       constructor(private http: HttpClient){}
      
        getSomeDataDude() {
         return this.http.get('someUrlDude');
        }
      
      }
      

      然后在您的组件中订阅所述服务,在您的情况下,我猜想在 ngOninit 甚至可能是解析保护,以在组件加载之前检索数据,以便您可以填充字段。

      解决:https://www.concretepage.com/angular-2/angular-resolve-guard-example

      然后,一旦你有了数据,只需更新 formControls、control.setValue 或 init new FormControl(valueHere, Validators.required);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-02-18
        • 1970-01-01
        相关资源
        最近更新 更多