問題タブ [mddialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ダイアログオーバーレイをトリガーする関数を介してAngularコンポーネント間で値を渡す
私の Angular アプリには、ダイアログ オーバーレイを開く機能を備えたコンポーネントがあります。元のコンポーネントからこのダイアログ コンポーネント (EnrollingProcessComponent) にデータを渡す方法を見つけようとしています。これは親子関係ではないので、ここで Input() や [] バインディングを使用することはできません。
また、ここでは説明しませんが、複数のインスタンスが問題を引き起こす可能性があるため、コンポーネント間でデータを取得および共有するためにサービスを使用していません。そのため、サービスを挿入して、ダイアログ コンポーネント (EnrollingProcessComponent) で同じインスタンスを取得することもできません。
とはいえ、元のコンポーネントからダイアログ コンポーネントにこのデータ (単なる電子メール アドレス) を何らかの方法で渡す必要があります。パラメータとして渡すことでこれを行うことができるはずだと思いますが、これまでのところ機能させることができません(つまり、元のコンポーネントの値をコンソールに出力すると、値が取得されます。しかし、ダイアログ(EnrollingProcessComponent)コンポーネントでその値を慰めると、「未定義」になります)。
click() イベントを使用して、ダイアログ コンポーネントを開きます。
トリガーされる関数は次のようになります。
メールアドレスである getPrimaryContactEmail() の結果を元のコンポーネントからダイアログが開いたときに起動されるコンポーネントに渡すにはどうすればよいですか?
angular - ヘッダー コンポーネント MdDialog を開きますが、ヘッダーに MdDialg を閉じるように指示するイベントを発行するには、MdDialog が必要です
アプリにドロップダウン メニューのあるヘッダーがあります。「メール」をクリックすると、MdDialog がポップアップします。これは、this.dialog.open(EmailDialogComponent) があるためです。よく働く!ここで、MdDialog の右上にある X をクリックする必要があります。これは、ヘッダー テンプレートがリッスンして実行できるイベントを発行する必要があります。
this.dialog.closeAll()
EmailDialogComponent のテンプレートでイベントをリッスンしようとしましたが、まだ「イベントをリッスン」しません。
@Outup closeDialog = new EventEmitter(); があります。次に、Xに (click)="closeEmailDialog()" を持っています。closeEmailDialogはこれです
closeEmailDialog() {
this.closeDialog.emit(null);
}
しかし、これは機能していません。MdDialog テンプレートでイベントをリッスンしても、起動していないようです - 何か考えはありますか?