Angular-UI Bootstrap Modal が提供する機能の約 90% を構築中の機能があります。唯一の違いは次のとおりです。
- モーダルは、コンテナの div に対して相対的に配置する必要があります (スタイリングの側面は で既に処理しました
windowClass
) 。
問題は、次のようにcallを$modalStack service
ハードコードするbody.append
ことです。
body.append(modalDomEl)
body.addClass(OPENED_MODAL_CLASS)
各サービスのメソッドを単純にコピーして貼り付けopen
(openWithinElement に名前を変更)、機能させるために必要なものを変更することから始めました。ご覧のとおり、アプリを実行すると、$q 依存関係が定義されていないというエラーがスローされます。わかりました、それは理にかなっていると思います。
次に、provider.decorator
メソッドに依存関係を追加しました。これにより、すべての依存エラーが回避されました。しかし、その後、別のエラーが発生しましたfunction getTemplatePromise is undefined
...もちろん、定義されていません。サービスの内部メソッドです。
その時、私は本当に立ち往生しました。サービス内のすべてのプライベート関数/オブジェクト/小道具を再定義せずに、このサービスを新しい方法で装飾することは不可能に思えます。
そうですか?
[追加する編集] 最終的にはupdateParentElement
メソッドでサービスを装飾することになり、モーダルは渡された要素に移動し、.opened promise で実行されました。ハックですが、機能しますが、デコレータに欠けているものがあることを願っています。[/編集]