簡體   English   中英

使用 Angular 8 中的 put 調用更新本地 JSON 文件的單個屬性

[英]Update a single property of local JSON file using put call in Angular 8

我想更新我放置在我的資產文件夾中的 JSON 文件,所以如果我只更新我的 JSON 對象的一個​​屬性,那么它應該只更新該屬性,而不影響任何其他屬性值:

讓示例代碼為:

登錄接口.ts

export interface loginModel {
    Email: string;
    Password: string;
}

登錄.component.ts

import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs';
import { HttpClient } from '@angular/common/http'
import { loginModel } from './loginModel'

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.css']
})
export class LoginComponent implements OnInit {


  private _jsonURL = 'assets/Login.json';
  private login: Array<loginModel>;

constructor(
    private http: HttpClient) {
    this.login = new Array<loginModel>();
  }
ngOnInit() {
    this.getLoginData();
  }

  getLoginData() {
    this.http.get<loginModel[]>(this._jsonURL).subscribe(data => {
      this.login = data;
      console.log(this.login);
      return this.login;
    });
  }

UpdateLoginData() {
// How to proceed on this one??
  }
}

登錄.component.html

<div *ngFor = "let log of login">
    {{log.Email}} 
    <input [ngModel]="log.Password">
</div>
<button (click)="UpdateLoginData()">Update</button>

這只是一個例子。

因此,如果我在一個地方更改密碼並單擊更新按鈕,那么它應該只更新該特定電子郵件的密碼,並且我不想為了更新單個值而用新的 JSON 對象替換整個文件,這可能嗎? ?

您不能直接通過 angular 更改 JSON 文件的內容,您需要后端來反映該 JSON 文件上的更改。

不! 您不能使用 Angular 更改文件的內容。 它是由具有文件系統 API 的后端框架/語言(例如 Node.JS)處理的文件 I/O 操作。 您可以創建一個 RESTful API 來修改文件的內容並從 Angular 進行 HTTP 調用。

您不能僅使用 angular 框架進行任何文件操作。 您需要服務器端實現來實現這一點。 如果您不熟悉服務器端編程,您可以嘗試使用內存角度數據庫 api。

https://www.npmjs.com/package/angular-in-memory-web-api

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM