ionic2
コンストラクタとOnInit
サーチ…
前書き
ionic2に関して、 constructor
は簡単に言えば、プラグインやサービスなどのインスタンスを作成するために使用します。たとえば、すべての生徒のリストを表示するページ(ビュー)があり、jsonファイルがありますあなたがしなければならないことは、このサービスでサービスを作成することです。メソッドを作成し、http.getリクエストを実行してjsonデータを取得します。ここで何が必要ですか? httpは単にこのようにします:
コンストラクタでHttpを使用するための学生サービスメソッドの例
import {Http} from '@angular/http';
@Injectable()
export class StudentService{
constructor(public http: Http){}
getAllStudents(): Observable<Students[]>{
return this.http.get('assets/students.json')
.map(res => res.json().data)
}
}
このサービスメソッドを使用したい場合はコンストラクタにもう一度注目してください。私たちはview / pageに行きます:
import {StudentService} from './student.service';
import { SocialSharing } from '@ionic-native/social-sharing';
export class HomePage implements OnInit {
constructor(public _studentService: StudentService, public socialSharing: SocialSharing) {
}
ここでもコンストラクタに注目してください。コンストラクタでStudentServiceのインスタンスを作成しています。もう1つは、socialSharingプラグインを使用しているため、コンストラクタでそのインスタンスを作成しています。
ngOnInitメソッドを使用して、ビューの読み込み時に生徒のリストを取得する
OnInit
:これはionic2の本当にすばらしいことです。またはAngularJs2で言うことができます。上記の例では、ngOnInitが何であるかを見ることができます。だから、サービスメソッドで準備が整いました。あなたのビュー/ページには、ビューが表示されるとすぐにその学生リストデータを利用できるようになります。これは、ロード時に自動的に起こる最初の操作でなければなりません。リストを表示する必要があります。したがって、クラスはOnInitを実装し、ngOnInitを定義します。例:
ngOnInit例:ページ/ビュー上の生徒のリストを取得する
export class HomePage implements OnInit {
...
....
constructor(....){}
ngOnInit(){
this._studentService.getAllStudents().subscribe(
(students: Students[]) => this.students = students,
)
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow