2016-11-01 17 views
1

こんにちはniceellowさんからのstackoverflow!プロパティ 'loading'がタイプ '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

...これを試してみてください? – toskv

+0

うーん。タイプミスや間違いがあるようです。 :) – toskv

答えて

0

問題はshowLoader()メソッドにあります。

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

this.loading.present(); 

これはプレーンなJavaScriptで法的なコードかもしれないが、あなたのクラスのloadingプロパティを定義していないので、typescriptですが不平を言っている:あなたがやっています。同じようにプロパティを定義します。

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

多分あなたはSignupPageクラスのロードという名前のプロパティを定義する必要が

export class SignupPage { 
 

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

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

 
    } 
 
.... 
 
}

関連する問題