我在第一个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)
失败。
答案 0 :(得分:0)
如果您只想让警告消失,您应该能够this.questions = this.questions['questions'];
但是,我强烈建议您创建一个合适的界面,以确保正确处理数据。