こんにちは、angular 2 アプリケーションの 1 つのコンポーネントで i フレームを使用しています。
Component.ts
import { Component, OnInit } from '@angular/core';
import { SafeResourceUrl,DomSanitizer,} from '@angular/platform-browser';
@Component({
selector: 'sample comp',
templateUrl: './sample-comp.component.html',
styleUrls: ['./sample-comp.component.css']
})
export class sampleComp implements OnInit {
//DECLARATION
webURL:SafeResourceUrl;
constructor() {
}
ngOnInit() {
}
public onSelectid(){
console.log('Router selected');
}
}
let greeter = new CampaignOrderComponent();
module FooModule {
export var FooInstance = new CampaignOrderComponent();
}
Component.html
<iframe src="http://sampleurl" width="100%" height="600" style="margin-top:-10px" frameborder="0"
webkitallowfullscreen mozallowfullscreen allowfullscreen>
</iframe>
i フレームでクリック イベントをトリガーしているときに、別のコンポーネントにルーティングする必要があります (これは、ルート コンポーネントのルーティング ファイルで既に指定されています)。
今、i frame アプリ(mvc アプリ) 内で、クリック機能をトリガーしました
parrent.showme()
angular 2アプリのルートフォルダーにindex.jsを追加しました(index.htmlにリンクされています)
index.js
function showme()
{
alert('function called');
FooModule.FooInstance.onSelectid();
}
これで、i フレーム アプリ内をクリックして、angular 2 アプリ ページにアラートを表示できるようになりました。
ターゲットは、showme() の機能を変更して、angular 2 アプリのルートを変更することです。
どうすればできますか?
私はそれを解決するためにいくつかの方法を試しましたが、残念ながら私は何も得ることができません。