2017-11-04 1 views
-1

그래서 Angular CLI를 사용합니다. 로컬 저장소에 이메일을 저장하고 싶습니다. 내 HTML 코드 :로컬 저장소에 이메일 저장 angi-cli

<input type="text" name="email_field" id="email"> 
<input type="submit" value="registration" onclick="save_email()"> 

내 타입 스크립트 코드 : 가까이 아무것도이 구성 요소가 보관되어

function save_email(){ 
    let idemail = document.getElementById('email'); 
    localStorage.setItem('email', this.idemail.value); 
} 

클릭 버튼 후. 그것을 고치는 방법?

답변

0

는 항상 더 나은 물건을 이런 종류의 각도 ​​양식을 사용하는 것입니다.

템플릿

<form #f="ngForm" [ngFormOptions]="{updateOn: 'blur'}" novalidate> 
    <label> 
    <span>Email</span> 
    <input 
     type="email" 
     name="email" 
     ngModel 
     placeholder="Your email"> 
    </label> 
    <label> 
    <span>Age</span> 
    <input 
     type="number" 
     name="age" 
     ngModel 
     placeholder="age"> 
    </label> 
    <button type="submit" (click)="submit(f.value)">Submit</button> 
</form> 

부품

각도 동일한 link

template-driven

점점 data-driven 형태

submit(value){ 
    console.log(value); 
    localStorage.setItem('data',JSON.stringify(value)); 
    } 

동작 예

+0

감사합니다! 그렇다면 저장된 정보를 어떻게 호출 할 수 있습니까? let storedEmail = localStorage.getItem ('data.email'); 작동하지 않습니다 – tatamingi

+0

내 문제를 팔았습니다. – tatamingi

0

먼저 onclick으로 전화하지 말고 (click)을 사용해야합니다. 둘째, DOM에서 데이터를 가져 오지 말고 대신 NgModel 바인딩을 사용하십시오.

https://stackblitz.com/edit/angular-ah8fst

+0

그 'ngModel'은'NgModel'이 아닙니다. –

+0

고맙습니다. 더 많은 정보를 저장해야한다면 어떨까요? 나는 다음과 같이 작성해야한다 : public email : string; public saveEmail() { localStorage.setItem ('email', this.email); 다른 변수 이름을 여러 번 사용하거나 하나의 함수 만 만들 수 있습니다. saveValue (storageValue : string) { localStorage.setItem ('storageValue', storageValue); 하지만 내 함수는 "storageValue"에만 정보를 저장하지만 이메일, 이름 등을 원합니다. – tatamingi

관련 문제