Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 间歇性错误,对象包含在NavPush on 2中_Javascript_Angular_Ionic Framework_Ionic2_Ionic3 - Fatal编程技术网

Javascript 间歇性错误,对象包含在NavPush on 2中

Javascript 间歇性错误,对象包含在NavPush on 2中,javascript,angular,ionic-framework,ionic2,ionic3,Javascript,Angular,Ionic Framework,Ionic2,Ionic3,我试图建立一个交互,通过推送并包含要编辑的配置文件,从配置文件页面转到单独的编辑配置文件页面。但是,我间歇性地收到一个TypeError,表示应用程序在传递的profile对象中找不到预期的元素 以下是全部错误: Error: Uncaught (in promise): TypeError: Cannot read property 'about_me' of undefined TypeError: Cannot read property 'about_me' of undefined

我试图建立一个交互,通过推送并包含要编辑的配置文件,从配置文件页面转到单独的编辑配置文件页面。但是,我间歇性地收到一个TypeError,表示应用程序在传递的profile对象中找不到预期的元素

以下是全部错误:

Error: Uncaught (in promise): TypeError: Cannot read property 'about_me' of undefined
TypeError: Cannot read property 'about_me' of undefined
    at Object.eval [as updateDirectives] (ng:///AppModule/EditProfilePage.ngfactory.js:510:34)
    at Object.debugUpdateDirectives [as updateDirectives] (http://localhost:8100/build/vendor.js:15003:21)
    at checkAndUpdateView (http://localhost:8100/build/vendor.js:14172:14)
    at callViewAction (http://localhost:8100/build/vendor.js:14522:21)
    at execComponentViewsAction (http://localhost:8100/build/vendor.js:14454:13)
    at checkAndUpdateView (http://localhost:8100/build/vendor.js:14178:5)
    at callWithDebugContext (http://localhost:8100/build/vendor.js:15404:42)
    at Object.debugCheckAndUpdateView [as checkAndUpdateView] (http://localhost:8100/build/vendor.js:14941:12)
    at ViewRef_.detectChanges (http://localhost:8100/build/vendor.js:11964:18)
    at Tab.NavControllerBase._viewAttachToDOM (http://localhost:8100/build/vendor.js:50138:40)
    at c (http://localhost:8100/build/polyfills.js:3:19752)
    at Object.reject (http://localhost:8100/build/polyfills.js:3:19174)
    at Tab.NavControllerBase._fireError (http://localhost:8100/build/vendor.js:49901:16)
    at Tab.NavControllerBase._failed (http://localhost:8100/build/vendor.js:49894:14)
    at http://localhost:8100/build/vendor.js:49941:59
    at t.invoke (http://localhost:8100/build/polyfills.js:3:14976)
    at Object.onInvoke (http://localhost:8100/build/vendor.js:5293:33)
    at t.invoke (http://localhost:8100/build/polyfills.js:3:14916)
    at r.run (http://localhost:8100/build/polyfills.js:3:10143)
    at http://localhost:8100/build/polyfills.js:3:20242
这是配置文件页面上的html元素:

<button class="edit-profile" *ngIf="isCurrentUser" ion-item (click)="editProfile(profile)" detail-none><ion-icon name="create-outline"></ion-icon> Edit Profile</button>
export class EditProfilePage {

  profile: Person;

  constructor(public navCtrl: NavController, public navParams: NavParams) {
    this.profile = navParams.data;
    console.log(navParams.data);
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad EditProfilePage');
    console.log(this.profile);
  }

}
这是编辑配置文件页面的组件:

<button class="edit-profile" *ngIf="isCurrentUser" ion-item (click)="editProfile(profile)" detail-none><ion-icon name="create-outline"></ion-icon> Edit Profile</button>
export class EditProfilePage {

  profile: Person;

  constructor(public navCtrl: NavController, public navParams: NavParams) {
    this.profile = navParams.data;
    console.log(navParams.data);
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad EditProfilePage');
    console.log(this.profile);
  }

}

编辑配置文件(如果未定义)

editProfile(person: Person) {
   if(person)
     this.navCtrl.push(EditProfilePage, person);
}

显示完整的错误消息,以及使用about_me的原始帖子中添加了哪些行?此处:about me`console.lognavParams.data;`显示未定义?看起来这是可行的,感谢您的帮助。你知道我为什么会犯这个错误吗?是什么原因导致配置文件对象有时无法通过?我不知道可能是什么原因。usersService.getMe花一些时间带来数据,然后在配置文件填充之前单击按钮