2017-08-09 3 views
0

コンポーネントから除外してonClickメソッドを追加したいのですが、どうすればいいですか? 私は htmlファイルしか持っていません。ここで は、基本的な例である - 私は角2のコンポーネントがonClickで継承する

<h1>h1</h1> 
<h2>h2</h2> 

コード - このHTMLで寺のファイルを持っている 私は、このコンポーネントを継承し、H1上のOnClickメソッドを追加します。

ありがとうございます。

答えて

0

関数とその変数をクリックするだけでtrueに設定する変数を追加することができます。

<button (click)="toggleComponent()"></button> 
<app-example-component *ngIf="variable"> 

TS:

variable = false; 

toggleComponent() { 

this.variable = !this.variable; 
} 
+0

は私が探しています、あなたの答えをありがとうより多くの自然のためのソリューション。また、h1にclickメソッドで追加して1つのコンポーネントに含めることができ、他のコンポーネントに含めることはできないという解決策もあります。あなたは自然の解決策を知っていますか? – user1137582

+0

@ user1137582どのような自然のソリューション、私はあなたの質問を理解していない?クリックでコンポーネントを表示する場合は、これを行う方法です。複数の場所で1つのコンポーネントを使用する場合は、Sharedフォルダを作成し、その中でコンポーネントを複数回使用し、上記の例のように表示することをお勧めします。 – grabnem

+0

私の質問は、クリックでコンポーネントを表示することではありませんでした。私は2回使用する必要があり、1つのinstaceで、何かをするonclickメソッドが必要です。 – user1137582

0

私は以下のように行ったようにあなたがコンポーネントを拡張することができます

Plunkerリンク https://plnkr.co/edit/azixm9?p=preview

//our root app component 
import {Component, NgModule, VERSION} from '@angular/core' 
import {BrowserModule} from '@angular/platform-browser' 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div> 
     <h2 (click)="callMe()">Hello {{name}}</h2> 
     <comp-one></comp-one> 
    </div> 
    `, 
}) 
export class App { 
    name:string; 
    constructor() { 
    this.name = `Angular! v${VERSION.full}` 
    } 
    public callMe(compName: any): void { 
    alert("App Component will handle this functionality") 
    } 
} 



@Component({ 
    selector: 'comp-one', 
    template: `<h2 (click)="callMe()">Click Me</h2>`, 
}) 
export class ComponentOne extends App { 

} 
@NgModule({ 
    imports: [ BrowserModule ], 
    declarations: [ App, ComponentOne ], 
    bootstrap: [ App ] 
}) 
export class AppModule {} 
関連する問題