2017-11-05 5 views
1

htmlテンプレートでselfを参照する方法はありますか?私はこのような操作を行うことができます現時点でテンプレート変数を使用しないAngular4リファレンスhtml要素

<p-calendar... (click)="self.someOtherMethod()"> ... </p-calendar> 

:私のような何かを意味

<p-calendar... (click)="test(v)" #v>...</p-calendar> 

test(v){ 
v.someOtherMethod(); 
} 

P-カレンダーはPrimengからのコンポーネントですが、私が尋ねると、一般的な角度のものです。

答えて

2

私はあなたがこのほしいと思う:

<p-calendar... (click)="self.someOtherMethod()" #self>...</p-calendar> 
0

PカレンダーにはngModelプロパティがあります。私が正しくあなたを理解していれば、これは移動するための方法のようになります。

yourDateModel: Date; 

EDIT:あなたのコンポーネントで

<p-calendar... [(ngModel)]="yourDateModel" (click)="someOtherMethod(yourDateModel)"> 
.... 
</p-calendar> 

、あなたはyourDateModelそうのように宣言する必要があります。これは、オフに漂流さここで少し、しかし、私は2つのカレンダーで日付の範囲を実装する方法である:(?たぶん私はまだ正しく理解していない)

HTML

<p-calendar placeholder="Date from..." 
     [(ngModel)]="dateRange.from" 
     [maxDate]="dateRange.to"></p-calendar> 
<p-calendar placeholder="Date to..." 
     [(ngModel)]="dateRange.to" 
     [minDate]="dateRange.from"></p-calendar> 

COMPONENT

dateRange: DateRange; 
+0

をご入力のためのおかげではなく、いや、それはngModelとは何の関係もありません。私はちょうどテンプレートの任意のタグで '自己'を参照したいと思って、それはどのコンポーネントでも動作するはずです。あなたの例では、someOtherMethodは、そのテンプレートにp-calendarを使用するコンポーネントで定義されますが、p-calendarで定義されたメソッドを実行します。 – Mike

+0

わかりました。今では独自に作成したコンポーネントに、このコンポーネント内の要素に(クリック)を追加してそこにメソッドを定義するだけではどうですか? – Riscie

+0

それはprimengが来るところです。コンポーネントで宣言された、onClickのようには見えなかったメソッドを呼び出そうと思っていました。私はテンプレート変数を使用してそれを行うことができますが、私はそれを伝えたくありません。 – Mike

関連する問題