我如何在组件中使用ionViewDidLoad()?

时间:2017-08-09 10:22:53

标签: angular typescript components ionic3

您好我正在ionic 3工作,我将数据存储在本地存储中。我想在组件中使用这些数据,但ionViewDidLoad(在普通页面中完美运行)不能在组件上工作,我遇到以下错误:

this error

那么请问还有其他建议吗? 组件代码(offre.ts):

    import { Component, Input , Output } from '@angular/core';
import { AngularFireDatabase, FirebaseListObservable } from "angularfire2/database"; 
import { IonicPage, NavController, NavParams} from 'ionic-angular';
import { NativeStorage } from '@ionic-native/native-storage';

@Component({
  selector: 'offre',
  templateUrl: 'offre.html',

})
export class OffreComponent {

    @Input('var') var;
    text: string;
    datas: FirebaseListObservable<any>;
    user : any ;

  constructor(public navCtrl: NavController, public db: AngularFireDatabase, public nativeStorage: NativeStorage) {
    this.datas=db.list('/posts');


  }

  ngAfterViewInit(){
    console.log(this.var);
  }
}

2 个答案:

答案 0 :(得分:1)

使用ionViewCanEnter(),它将在ionViewDidLoad()之前调用

答案 1 :(得分:0)

我已经尝试过我的应用程序并且它没有给出任何运行时错误。但是当你使用Angular组件时总是尝试使用Angular生命周期钩子。在你可以使用{{1}的用例} hook。

Offical Doc

  

在Angular初始化组件的视图和子视图后做出响应   观点。在第一次ngAfterContentChecked()之后调用一次。一个   仅限组件钩。