TypeScript я получаю сообщение об ошибке, показывающее, что this.registerNumber не определен - PullRequest
0 голосов
/ 17 октября 2019

this.registerNumber показывает значение Undefined. Я объявил, что в нем есть строка, и помещает в него данные, используя службу сообщений. Служба сообщений извлекает данные, но значение номера регистра остается неопределенным. TypeScript, я получаю сообщение об ошибке, показывающее, что this.registerNumber не определен.

export class OtpSlideComponent implements OnInit {
    @ViewChild("otpInput", {static: false}) otpInput;
    otp: string;
    otpReceived: boolean = true;
    showOtpComponent: boolean = true;
    opened: boolean = false;
    timeLeft: number = 45;
    send: boolean = false;
    interval;
    showMe: boolean = false;
    registerNumber: string;
    config = {
        allowNumbersOnly: true,
        length: 4,
        inputStyles: {
            width: "30px",
            height: "40px",
            border: "0px",
            "border-radius": "0px",
            "border-bottom": "1px solid #A9A8A8",
            outline: "none",
            "margin-left": "20px",
            background: "transparent"
        }
    };

    constructor(
        private fb: FormBuilder,
        public toastrService: ToastrService,
        public messageService: MessageService,
        public dataService: DataService
    ) {
        this.otpVerify = this.fb.group({
            otp: [""]
        });
    }

    otpVerify: FormGroup;
    slideRight: any = "right";

    ngOnInit() {
        if (  //undefined this.registerNumber //
            this.messageService.getData() &&
            this.messageService.getData()["registerPhone"]
        ) {
            this.registerNumber = this.messageService.getData()["registerPhone"];
        }
    }


    toggleAnim() {
        this.slideRight = this.slideRight == "left" ? "right" : "left";
    }

    mobileRegister() {
        const self = this;
        const data = {
            mobileNumber: this.registerNumber,
            OTP: parseInt(this.otp)
        };
        this.dataService.verifyOTP(data);
    }
}

1 Ответ

0 голосов
/ 17 октября 2019

this.messageService.getData () или this.messageService.getData () ["registerPhone"];возможно, null, что приводит к тому, что он не входит в цикл If, поэтому registerNumber остается неопределенным

...