类型问题上不存在属性

时间:2018-04-24 07:07:31

标签: typescript ionic3

我在第一个Ionic项目中使用以下代码:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { PapersProvider } from '../../providers/papers/papers';

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

@IonicPage()
@Component({
  selector: 'page-load-paper',
  templateUrl: 'load-paper.html',
})
export class LoadPaperPage {

  public paper = {};
    public questions = {};

  constructor(public navCtrl: NavController, public navParams: NavParams, public papersData:PapersProvider) {
    // let paperid = navParams.data.paper;
    this.paper      = this.navParams.get('paper');
    this.questions  = this.navParams.get('questions');
    this.questions  = this.questions.questions;
  }

  ionViewDidLoad() {
  }
}

在测试装入纸张页面时,代码可以正常工作。但是,当我必须重新服务项目并从头开始(启动画面等)时,我收到以下错误:

  

打字稿错误       类型'{}'src / pages / load-paper / load-paper.ts

上不存在属性'问题'
this.questions  = this.navParams.get('questions');
this.questions  = this.questions.questions;

在加载启动画面时,我分配给this.questions的数据不存在,所以我理解它因此失败但我已经尝试过测试:

if(this.questions.questions !== 'undefined')

if(this.questions.questions)

失败。

1 个答案:

答案 0 :(得分:0)

如果您只想让警告消失,您应该能够this.questions = this.questions['questions'];

但是,我强烈建议您创建一个合适的界面,以确保正确处理数据。