Angular 2, v6: напишите в файл assets/*.json и сохраните его [Typescript]

:)

У меня есть приложение Angular (@angular/cli: ~6.0.3, typescript: ~2.7.2), в котором есть файл json в папке с ресурсами. Я пытаюсь получить доступ к этому файлу json, записать его и сохранить.

Как я могу это сделать?

Вот что я уже пробовал:

private jsonPath = 'assets/foods.json';

public postJson(food: Food): Observable<Food> {
        const httpOptions = {
            headers: new HttpHeaders({
                'Content-Type': 'application/json'
            })
        };
        return this._http.post(this.jsonPath, food, httpOptions);
    }

Для проверки я использую:

public testJson() {
    const food = new Food('name1', '361');
    this.jsonService.postJson(food).subscribe(data => console.log('Post: ' + data));
    this.jsonService.getJson().subscribe((res: Food) => console.log(res));
  }

Когда я выполняю this.jsonService.getJson().subscribe((res: Food) => console.log(res));, я вывожу json без новой еды, которая была опубликована ранее.


person psc37    schedule 24.05.2018    source источник
comment
Вы не можете просто вставить данные в такой статический файл   -  person Vikas    schedule 24.05.2018
comment
Спасибо за ответ, @Vikas. Нет ли способа открыть и изменить файл json, хранящийся локально?   -  person psc37    schedule 24.05.2018
comment
Нет Не без серверного кода   -  person Vikas    schedule 24.05.2018
comment
Спасибо. Вопрос решен.   -  person psc37    schedule 24.05.2018


Ответы (1)


Вы не можете писать в файлы активов. ты можешь использовать

JSON.stringify()

и

JSON.parse()

и хранить данные в localStorage

person Mohamed Ramadan    schedule 05.12.2019