2017-09-11 6 views
1

저는 Ionic 플랫폼을 처음 사용하는 학생이며 분명히 첫 번째 응용 프로그램에 약간의 문제가 있습니다. 버튼 하나에 간단한 카운터가 있습니다.이 버튼을 클릭하면 카운터가 1 씩 증가합니다. 그런 다음 Storage를 사용하여 값을 저장하면 "storage.get"을 사용하여 다른 페이지에서 같은 값을 검색합니다. 이온 저장 및 변수

코드입니다 : 나는 응용 프로그램 오픈을 다시 할 때

constructor(public storage:Storage, public platform: Platform){ 
    this.storage = storage; 
    } 

    ionViewDidLoad() { 
    console.log("I'm alive!"); 
    this.counter = this.storage.get("Count").then((data)=>{ 
     console.log(data); 
    }); 
    } 

    public counter = 0; 

    count(){ 
     this.counter+=1; 
     this.storage.set("Count",this.counter); 
    } 

, 나는 카운터를 증가 계속 저장된 값을 사용하려고하지만, 0부터 다시 시작합니다 나는를 증가 할 수있는 방법 저장된 값을 사용하여 카운터의 변수?

감사합니다.

+0

Count 값을 얻으면 콘솔에만 기록됩니다. 카운터 값을 설정하려고 했습니까 ... "this.counter = data;" 내부 함수? console.log (데이터) 대신. –

+0

죄송합니다. 잘못된 코드를 붙여 넣었습니다 : 예, "this.counter = data"라고 쓰려고했지만 "ionic serve"로 응용 프로그램을 테스트 할 때이 오류가 표시됩니다. ""약속 유형 이 아닙니다. 'number'에 할당 가능 " –

+0

알았어, 내 오류를 찾았습니다 : 이제 작동합니다. 어쨌든 도와 주셔서 감사합니다. –

답변

0

this.counter를 promise 호출로 설정 중입니다.

대신이 작업을 수행 :

this.storage.get("Count").then((data)=>{ 
    this.counter = data; 
}); 

을 또한 생성자에서 주사를 공개 선언 한 후에는 생성자 내부에서 다시 설정할 필요가 없습니다. 자동으로 클래스 인스턴스와 함께 사용할 수 있습니다. 기본적으로, 당신은 이것을 필요로하지 않습니다.

this.storage = storage; 
+0

조언 주셔서 감사합니다! –