使用 Angular 中的 put 调用更新本地 JSON 文件的单个 属性 8
Update a single property of local JSON file using put call in Angular 8
我想更新我放在我的资产文件夹中的 JSON 文件,所以如果我只更新我的 JSON 对象的一个 属性 那么它应该更新那个仅 属性,不影响任何其他属性值:
让示例代码为:
loginInterface.ts
export interface loginModel {
Email: string;
Password: string;
}
login.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??
}
}
login.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 的后端 framework/language(例如 Node.JS)处理的文件 I/O 操作。您可以创建一个 RESTful API 来修改文件的内容并从 Angular.
进行 HTTP 调用
您不能仅使用 angular 框架进行任何文件操作。您需要服务器端实现来实现这一点。如果您不熟悉服务器端编程,您可以尝试使用内存 angular 数据库 api.
在 json 服务器中,您可以使用 put 方法进行更新
//有点像下面给出的
this.http.put(this._jsonURL+this.login[0].id,this.login[0]).subscribe();
我想更新我放在我的资产文件夹中的 JSON 文件,所以如果我只更新我的 JSON 对象的一个 属性 那么它应该更新那个仅 属性,不影响任何其他属性值:
让示例代码为:
loginInterface.ts
export interface loginModel {
Email: string;
Password: string;
}
login.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??
}
}
login.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 的后端 framework/language(例如 Node.JS)处理的文件 I/O 操作。您可以创建一个 RESTful API 来修改文件的内容并从 Angular.
进行 HTTP 调用您不能仅使用 angular 框架进行任何文件操作。您需要服务器端实现来实现这一点。如果您不熟悉服务器端编程,您可以尝试使用内存 angular 数据库 api.
在 json 服务器中,您可以使用 put 方法进行更新
//有点像下面给出的
this.http.put(this._jsonURL+this.login[0].id,this.login[0]).subscribe();