代码之家  ›  专栏  ›  技术社区  ›  DenizG

运行时错误:无法读取未定义(Ionic 3)的属性“title”

  •  1
  • DenizG  · 技术社区  · 6 年前

    一切似乎都很好,但我在detailpage中遇到了这样的错误。请帮帮我。我快要发疯了。

    细节ts文件:

    import { Component } from '@angular/core';
    import { IonicPage, NavController, NavParams } from 'ionic-angular';
    import { AngularFireDatabase} from 'angularfire2/database';
    import { Http, Headers } from '@angular/http';
    import 'rxjs/add/operator/do';
    import 'rxjs/add/operator/map';
    import { Note } from '../../model/note/note.model';
    import { NoteListService } from '../../services/note-list.service';
    
    
    @IonicPage()
    @Component({
      selector: 'page-detail',
      templateUrl: 'detail.html',
    })
    export class DetailPage {
    
    note : Note = {
        title: '',
        content: ''
      };
    
      constructor( private noteListService: NoteListService,public navCtrl: NavController, public navParams: NavParams,private fdb:AngularFireDatabase) {
      }
    
      ionViewDidLoad() {
        console.log('ionViewDidLoad DetailPage');
        this.note = this.navParams.get('note');
      }
    }
    

    细节html文件:

     <ion-header>
    
      <ion-navbar color="ecoblue">
        <ion-title>{{note.title}}</ion-title>
      </ion-navbar>
    
    </ion-header>
    
    <ion-content padding>
    
      {{note.content}}
    
    </ion-content>
    

    因此,当我加载页面时,控制台中出现运行时错误,表示“无法读取未定义的属性‘title’”。 我在等待你的解决方案。

    1 回复  |  直到 6 年前
        1
  •  0
  •   zgluis    6 年前

    作为解决方法,您可以编写 ? 之后 note 在您看来,如下所示:

      <ion-navbar color="ecoblue">
        <ion-title>{{note?.title}}</ion-title>
      </ion-navbar>
    

    这将使您的错误消失,但为了获得更好的解决方案,您应该检查在navParams中接收到的数据是否正确。