2017-09-26 14 views
0

私はMVCとjQueryで開発された単一のページアプリケーションを持っています。私は自分のcshtmlページにボタンがあり、そのボタンをクリックすると、角度成分の中にある関数をロードする必要があります。どうすればこれを達成できますか?jqueryボタンからangular2コンポーネントの関数を呼び出す方法は?

+0

動的コンポーネントの概念に従っていますか? – k11k2

+0

あなたのcomponentsetとhtmlを追加することができます – Robert

+0

Robertとk11k2、私はjqueryアプリケーションのボタンをクリックするとダイアログの角度コンポーネントを開く必要がありました。私はこれをiframeを使って実現することができます。私はすぐにコードを掲載します。 – SPR

答えて

0

可能な方法の1つは、コンポーネントをグローバルスコープに配置することです。つまり、コンポーネントを作成してウィンドウオブジェクトに配置することです。ここでは、同様の機能

How do expose angular 2 methods publicly?

を達成したスレッドは、このことができます願っています。

jQueryのアプリ:私は、以下のアプローチにより、jqueryのダイアログ内angular2アプリを開くことができる午前

+0

ありがとうUsman。私はあなたが与えたリンクをたどって機能を呼び出すことができます。私は、jqueryアプリケーションのボタンをクリックすると、ダイアログの角度コンポーネントを開く必要がありました。私はこれをiframeを使って実現することができます。 – SPR

-1

1)私は、ダイアログを開いています関数の内部で、私は、IFRAMEを作成しています角度アプリのURLをそのソースとして渡します。

2)私はまた、子レベルのアプリケーションでこのデータを利用できるように、ウィンドウレベルの変数を宣言し、それを私の親jQueryアプリケーションのデータで代入しています。

window.angAppInput = "Input to angular app" 

角度アプリ:コンポーネント宣言の前

1)は、私は以下のようにウィンドウオブジェクトを宣言します。

declare var window: any; 

2)ngOnInitの中では、私は親のjQueryからのデータと私の角度アプリケーションを初期化していますアプリは以下を使用しています:

this.angAppInput = window.parent.angAppInput; 
関連する問題