Свойство submit не существует для типа 'RegistrationPage' - PullRequest
0 голосов
/ 08 июня 2019

Пытаюсь запустить приложение с использованием IONIC 3. Но при запуске ionic serve я получаю следующую ошибку

transpile started ... 
[05:31:23]  typescript: src/pages/signup/signup.ts, line: 68 
            Property 'submitAttempt' does not exist on type 'SignupPage'. 

      L68:     this.submitAttempt = true;

[05:31:23]  ionic-app-script task: "build" 
[05:31:23]  Error: Failed to transpile program 
Error: Failed to transpile program
    at new BuildError (/home/gideon/Documents/IONIC/Ecommercegd/E-commerce-ionic-app--master/node_modules/@ionic/app-scripts/dist/util/errors.js:16:28)
    at /home/gideon/Documents/IONIC/Ecommercegd/E-commerce-ionic-app--master/node_modules/@ionic/app-scripts/dist/transpile.js:159:20
    at new Promise (<anonymous>)
    at transpileWorker (/home/gideon/Documents/IONIC/Ecommercegd/E-commerce-ionic-app--master/node_modules/@ionic/app-scripts/dist/transpile.js:107:12)
    at Object.transpile (/home/gideon/Documents/IONIC/Ecommercegd/E-commerce-ionic-app--master/node_modules/@ionic/app-scripts/dist/transpile.js:64:12)
    at /home/gideon/Documents/IONIC/Ecommercegd/E-commerce-ionic-app--master/node_modules/@ionic/app-scripts/dist/build.js:109:82
    at <anonymous>
[ERROR] An error occurred while running subprocess ionic-app-scripts.

        ionic-app-scripts build --target cordova --platform browser exited with 
        exit code 1.

        Re-running this command with the --verbose flag may provide more 
        information.

Я пытался настроить 'sumitAttemt', чтобы просто 'отправить', но показывает ту же ошибку. Также я добавил платформу браузера, выполнив эту команду «ionic cordova platform add browser», которая существовала даже уже и после выполнения «ionic cordova run browser», все та же ошибка. ПОЖАЛУЙСТА, ПОМОГИТЕ !!!

Пожалуйста, ПОМОГИТЕ МНЕ !!

это мой код signup.ts

import { IonicPage, NavController, NavParams ,AlertController } from 'ionic-angular';


import {Http, Headers, RequestOptions}  from '@angular/http';
import { HttpClientModule } from '@angular/common/http'; 
import { HttpModule } from '@angular/http';
import { LoadingController } from 'ionic-angular';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';


import { LoginPage } from '../login/login';

/**
 * Generated class for the SignupPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */

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

myForm: FormGroup;

  //@ViewChild("name") name;

//@ViewChild("username") username;

//@ViewChild("email") email;

//@ViewChild("password") password;

//@ViewChild("confirmpassword") confirmpassword;

  constructor(public navCtrl: NavController, public navParams: NavParams,public alertCtrl: AlertController,  private http: Http,  public loading: LoadingController, public formBuilder: FormBuilder) {

     this.myForm = this.formBuilder.group ({



        name: ['', Validators.compose([Validators.minLength(5), Validators.pattern('[a-zA-Z ]*'), Validators.required])],
        username: ['', Validators.compose([Validators.maxLength(30), Validators.pattern('[a-zA-Z0-9 ]+'), Validators.required])],
        password: ['', Validators.compose([Validators.required])],
        confirmpassword: ['', Validators.compose([ Validators.required])],

         email: ['', Validators.compose([Validators.email, Validators.required])],



      });




  }





  onSubmit(myForm){

   this.submitAttempt = true;

  if(!this.myForm.valid){






  }else{

var headers = new Headers();

headers.append("Accept", 'application/json');

headers.append('Content-Type', 'application/json' );

let options = new RequestOptions({ headers: headers });

let data = {



password: this.myForm.value.password,
name : this.myForm.value.name,
username:this.myForm.value.username,

confirmpassword:this.myForm.value.confirmpassword,

email:this.myForm.value.email

};







let loader = this.loading.create({

content: 'Processing please wait…',

});

loader.present().then(() => {

this.http.post('http://192.168.225.39:8085/register.php',JSON.stringify(data), options)

.map(res => res.json())

.subscribe(res => {

loader.dismiss()

if(res=="Registration successfull"){

let alert = this.alertCtrl.create({

title:"whola,Done",

subTitle:("Login to continue"),

buttons: ['OK']

});

this.navCtrl.push(LoginPage);

alert.present();


}else

{

let alert = this.alertCtrl.create({

title:"oops!!",

subTitle:("Registration unsuccesfull!!"),

buttons: ['OK']

});

alert.present();

}

});

});


}

  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad SignupPage');
  }

}

А это мой код RegistrationPage.html





  <ion-content  class="background">


  <img src="../assets/imgs/bas1.png"/>
<ion-card>

<ion-card-header>
  SIGNUP
</ion-card-header>
    <ion-card-content>

      <ion-list no-line>
         <form [formGroup]="myForm" novalidate >
        <ion-item>

          <ion-input input type="text" placeholder="Name" formControlName="name"></ion-input>
        </ion-item>
<ion-item no-lines *ngIf="( myForm.get('name').hasError('minlength') || myForm.get('name').hasError('required') ) && myForm.get('name').touched">

<div class="error" *ngIf="myForm.get('name').hasError('required') && myForm.get('name').touched">
Name is required
</div>
<div class="error" *ngIf="myForm.get('name').hasError('minlength') && myForm.get('name').touched">
Maximum of 6 characters
</div>
</ion-item>

        <ion-item>

          <ion-input input type="text" placeholder="Username" formControlName="username"></ion-input>
        </ion-item>
        <ion-item no-lines *ngIf="( myForm.get('username').hasError('minlength') || myForm.get('username').hasError('required') ) && myForm.get('username').touched">

<div class="error" *ngIf="myForm.get('username').hasError('required') && myForm.get('username').touched">
username is required
</div>
<div class="error" *ngIf="myForm.get('username').hasError('minlength') && myForm.get('username').touched">
Minimum of 6 characters
</div>
</ion-item>

          <ion-item>

            <ion-input type="email" placeholder="E-mail" formControlName="email"></ion-input>
          </ion-item>

           <ion-item no-lines *ngIf="( myForm.get('email').hasError('email') || myForm.get('email').hasError('required') ) && myForm.get('email').touched">

<div class="error" *ngIf="myForm.get('email').hasError('required') && myForm.get('username').touched">
email is required
</div>
<div class="error" *ngIf="myForm.get('email').hasError('email') && myForm.get('email').touched">
Enter valid email
</div>
</ion-item>
<ion-item>

            <ion-input type="password" placeholder="Password" formControlName="password"></ion-input>
          </ion-item>
 <ion-item no-lines *ngIf="( myForm.get('password').hasError('required') ) && myForm.get('password').touched">

<div class="error" *ngIf="myForm.get('password').hasError('required') && myForm.get('password').touched">
password is required
</div>

</ion-item>

          <ion-item>

            <ion-input type="password" placeholder="confirmPassword" formControlName="confirmpassword"></ion-input>
          </ion-item>
          <ion-item no-lines *ngIf="( myForm.get('confirmpassword').hasError('required') ) && myForm.get('confirmpassword').touched">

<div class="error" *ngIf="myForm.get('confirmpassword').hasError('required') && myForm.get('confirmpassword').touched">
password should match
</div>

</ion-item>


</form>


        <button ion-button block class="google" (click)="onSubmit(myForm)">SIGN-UP</button>
</ion-list>
    </ion-card-content>

</ion-card>

</ion-content>

<style type="text/css">
.error
{
color:red;
}

</style>

1 Ответ

1 голос
/ 08 июня 2019

У вас нет этого свойства, созданного в вашем файле TS.
поэтому добавьте его выше вашего конструктора так:

public submitAttempt: boolean = false;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...