私のコンポーネント@Input
メソッドからプロバイダクラスにアクセスしようとしています。 @Input
方法は、次の子メソッドからプロバイダメソッドにアクセスする@Input setter - Ionic2/Angular2
に呼び出されたときに、プロバイダが利用できないようにしかし、それはそう問題はライン
this.provider.sampleMethod();
I「はエラーである
#provider
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/map';
@Injectable()
export class MyProvider {
constructor() {}
sampleMethod(){
return 'sample method';
}
}
#component
import { Component, Input } from '@angular/core';
import {MyProvider} from '../../providers/my-provider/my-provider';
import { NavController} from 'ionic-angular';
@Component({
selector: 'selected-options',
templateUrl: 'build/components/selected-options/selected-options.html',
inputs: ['node']
})
export class SelectedOptions {
provider: MyProvider;
@Input()
set node(n: any){
this.provider.sampleMethod();
}
}
#page (where I call the component)
<selected-options [node]="node.Name"></selected-options>
私のコードであるようです取得はORIGINAL EXCEPTION: TypeError: Cannot read property 'sampleMethod' of undefined
です。
@Input
メソッドが呼び出されたときにprovider: MyProvider;
がロードされないと思います。しかし、これはコンストラクタ内で使用するとうまく動作します。 @Input
メソッド内でプロバイダメソッドにアクセスするにはどうすればよいですか?
Hey @sebaferreras、問題の詳細な説明と助けを借りて、私の問題を修正しました – sameera207
Np、それは私たちのものですすべてここに:) – sebaferreras