2017-05-20 4 views
0

Je suis tout à fait nouveau à angulaire et j'essaye de faire un formulaire, qui permet à un utilisateur de changer son mot de passe. Pour cela, j'ai besoin de lire les informations sur l'utilisateur à partir de login.config et voici mon problème car je ne sais pas comment lire le fichier ou comment faire des modifications à ce fichier par le biais angulaire. Est-ce que quelqu'un a des suggestions?changer le mot de passe et enregistrer les modifications à login.config

html:

<form class="form" method="post" #optionsForm="ngForm" (ngSubmit)="onSubmit(optionsForm)"> 
    <h2 >Change password</h2> 
    <div > 
     <label>Old Password </label> 
     <input type="password" name="lass="form-input" ngModel> 
     </div> 
     <div> 
      <label>New Password </label> 
      <input type="password" name="new-password" id="new-password-input" 
      required ngModel> 
    </div> 
    <div class="form-row"> 
      <label> Repeat new password</label> 
      <input type="password" name="repeat-password" id="repeat"ngModel> 
    </div> 
    <div class="form-row form-row-center"> 
     <input type="submit" id="save-changes" value=" Submit"/> 
    </div> 
    </form> 

component.ts:

import {Component, OnInit} from '@angular/core'; 
import {Headers, Http} from '@angular/http'; 
import 'rxjs/add/operator/toPromise'; 
import {NgForm} from '@angular/forms'; 


    @Component({ ... }) 
    export class OptionsComponent implements OnInit { 
    constructor(private http: Http) {}; 
    onSubmit(form: NgForm): void { 

    //read password from login.config 
    // write new password in login.config 

    form.resetForm(); 

    } 

    } 

login.config:

username: [email protected] 
    password: 1234 
+1

Pourquoi les informations viennent à travers un fichier et non l'entrée d'utilisateur? – Chrillewoodz

Répondre

0

Je vous suggère de créer un service contenant les éléments suivants

private extractData(res: Response) { 
    if (res.status < 200 || res.status >= 300) { 
     throw new Error('Bad response status: ' + res.status); 
    } 
    let body = res.json ? res.json() : null; 
    return (body && body.data || {}); 
    } 

getData() { 
     return <Observable>this.http 
     .get(jsonFileUrl) 
     .map(res => this.extractData(res)); 
    } 

puis dans votre composant vous injectez le service et appeler la méthode getData

constructor(public dataService: myService) { } 

    getData() { 
    this.dataService.getData().subscribe(data => { 
     // here you can use the login data 
    }); 

this helps