このトピックに関するすべての検索では、ブートストラップに依存する既存のコンポーネントのインポートが行われます。ブートストラップなしでjQueryなしでAngular2 Modalコンポーネントを作成するには?
私はブートストラップを使いたくありません。私は自分自身の単純なHTMLマークアップが必要で、クラス名が少なくて済み、すでに複雑なマークアップを覚えて群衆化したい。
コンポーネント、コンポーネントライフサイクル、サービス、テンプレート、イベント、オブザーバブル、その他のAngular2の概念はかなり快適ですが、「親ページ」が<ルータに終わるネストされたコンポーネントのみを構築できますアウトレット>。
ほとんどのチュートリアルやビデオコースでは対処していない、あまり知られていないAngular2の概念があるかもしれないと思うので、モーダルポップアップを実現できます。私は何とかDOMを "ハック"して、Webページ全体のルートにいくつかのhtmlを挿入しなければならないと思うので、私は絶対にモーダルを配置することができます。 Angular2の内部の仕組みや原則に違反する可能性があるため、jQueryを使用したくありません。可能であれば、私はDOMを操作するためにAngular2で安全な方法を知りたいのですが、私はコンポーネントコードからDOM要素を追跡したくないのです。
アラートの確認とプロンプトが必要なだけではありません。私は、ユーザーがデータベースに何かを保存したり、リストからアイテムを選択できるようにする、モーダルウィンドウ上にフォームコンポーネントを配置できるようにしたいと考えています。
私はたくさんのために求めている知っているが、特に:私のポップアップ・コンポーネントは、最低でも
- 何HTMLマークアップとCSSを持っている必要がありますか?理想的には、私は半透明のカバーをページ全体に置き、その上に実際のモーダルを置きたい。ユーザーがモーダルウィンドウの外側をクリックできないようにします。
- 絶対に必要な場合、これを引き出すためにサービスとオブザーバブルを使用する方法はありますか?
- @Component({})デコレータで定義されているように、このモーダルコンポーネントのマークアップをホスト/親コンポーネントに含めて開くことはできますか?
- 理想的には、ホストコンポーネントのコードを、私は
selectRecordModal.onSelected(selectedItem => { .... }).onCancelled(() => { ... });
一般に、私はこれを考慮していません。私は個人的な使用のためにそれを調べます。私の上司はモダンなルックスを強く主張しています。これは現代のUIフレームワークから離れている理由の一部です。 –
それは痛いです。私は準備ができた純粋なCSSモーダルの外部リンクを追加しました。 – Doug