【发布时间】:2018-04-24 07:07:30
【问题描述】:
我在我的第一个 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() {
}
}
测试我的 load-paper 页面时,代码运行良好。但是,当我必须重新提供项目并且它从头开始(启动屏幕等)时,我收到以下错误:
打字稿错误 类型“{}”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)
不成功。
【问题讨论】:
-
为您的 questions 对象创建一个接口,该接口将持有 questions 属性,然后让您的 questions 对象实现该接口。
-
嗨西斯科。没有必要在你的每一个问题中添加“请帮助”材料——读者知道你需要帮助,他们不想看到你恳求。如果您的问题可以保持简洁,则可以节省编辑工作量,而且asking confident questions 的出现通常也可能会为您带来更好的接待。
标签: typescript ionic3