2016-11-01 2 views
1

안녕하세요, 안녕하세요.'로딩'속성이 'SignupPage'(TypeScript) 유형에 존재하지 않습니다.

저는 MEAN 스택을 처음 접했고, 여전히 그것에 대한 기초를 다지려고합니다.

간단한 인증을하려고합니다. 이 코드입니다 :

import { Component } from '@angular/core'; 
import { NavController, LoadingController } from 'ionic-angular'; 
import { Auth } from '../../providers/auth'; 
import { HomePage } from '../home/home'; 

@Component({ 
    selector: 'signup-page', 
    templateUrl: 'signup-page.html' 
}) 
export class SignupPage { 

    role: string; 
    email: string; 
    password: string; 

    constructor(public navCtrl: NavController, public authService: Auth, public loadingCtrl: LoadingController) { 

    } 

    register(){ 

    this.showLoader(); 

    let details = { 
     email: this.email, 
     password: this.password, 
     role: this.role 
    }; 

    this.authService.createAccount(details).then((result) => { 
     this.loading.dismiss(); 
     console.log(result); 
     this.navCtrl.setRoot(HomePage); 
    }, (err) => { 
     this.loading.dismiss(); 
    }); 

    } 

    showLoader(){ 

    this.loading = this.loadingCtrl.create({ 
     content: 'Authenticating...' 
    }); 

    this.loading.present(); 

    } 

} 

그리고 이것은 오류가 난 얻을 수있다 :

[12:43:17] typescript: src/pages/signup-page/signup-page.ts, line: 31 
      Property 'loading' does not exist on type 'SignupPage'. 

     L30: this.authService.createAccount(details).then((result) => { 
     L31: this.loading.dismiss(); 
     L32: console.log(result); 

[12:43:17] typescript: src/pages/signup-page/signup-page.ts, line: 35 
      Property 'loading' does not exist on type 'SignupPage'. 

     L34: }, (err) => { 
     L35:  this.loading.dismiss(); 
     L36: }); 

[12:43:17] typescript: src/pages/signup-page/signup-page.ts, line: 42 
      Property 'loading' does not exist on type 'SignupPage'. 

     L42: this.loading = this.loadingCtrl.create({ 
     L43: content: 'Authenticating...' 

[12:43:17] typescript: src/pages/signup-page/signup-page.ts, line: 46 
      Property 'loading' does not exist on type 'SignupPage'. 

     L46: this.loading.present(); 

[12:43:17] transpile failed 

누구든지 내가 부족 걸 명확히 할 수 있고 난 내 프로젝트를 진행하기 위해 무엇을 공부해야?

+0

을 어쩌면 당신은 SignupPage 클래스의로드라는 이름의 속성을 정의 할 필요가? – toskv

+0

잘 .. 오타 나 실수가있는 것처럼 보입니다. :) – toskv

답변

0

문제는 showLoader() 방법에 있습니다.

this.loading = this.loadingCtrl.create({ 
    content: 'Authenticating...' 
}); 

this.loading.present(); 

이 일반 자바 스크립트에 대한 법률의 코드가 될 수 있지만, 당신은 당신의 클래스의 loading 속성을 정의하지 않았기 때문에 타이프 라이터는 불평 : 당신은하고있다. 그냥 같은 속성을 정의합니다 ...

export class SignupPage { 

    role: string; 
    email: string; 
    password: string; 
    loading: LoadingController; //I'm assuming that's the correct type 

    constructor(public navCtrl: NavController, public authService: Auth, public loadingCtrl: LoadingController) { 

    } 
.... 
} 
+0

임은 여전히 ​​이것을 구현하는 방법에 대한 기초가 빠져 있습니다. 어떻게해야합니까? – Jacs

1

이 시도

export class SignupPage { 
 

 
    role: string; 
 
    email: string; 
 
    password: string; 
 
    loading: any; 
 

 
    constructor(public navCtrl: NavController, public authService: Auth, public loadingCtrl: LoadingController) { 
 

 
    } 
 
.... 
 
}

관련 문제