繁体   English   中英

装饰Angular-UI Bootstrap模式

[英]Decorating Angular-UI Bootstrap modal

我要构建的功能大约是Angular-UI Bootstrap Modal提供的功能的90%。 唯一的区别是:

  • 模态需要相对于容器div定位(我已经使用windowClass处理了样式方面)

问题在于$modalStack service body.append调用进行了硬编码 ,如下所示:

body.append(modalDomEl)
body.addClass(OPENED_MODAL_CLASS)

第一步在这里

我首先简单地在每个服务上复制/粘贴open方法(将其重命名为openWithinElement),然后修改使它起作用所需的内容。 如您所见,如果您运行该应用程序,它将对未定义的$ q依赖项引发错误。 好吧,我想这很有道理。

接下来,我将依赖项添加到provider.decorator方法中,该方法绕过了所有依赖项错误。 但是后来我又遇到了另一个错误, function getTemplatePromise is undefined ……当然,它是未定义的。 这是服务的内部方法。

那是我真正陷入困境的时候。 在不重新定义服务中所有私有功能/对象/道具的情况下,用新方法装饰该服务似乎是不可能的。

是这样吗

[最终编辑]我最终用updateParentElement方法装饰服务,然后将模式移动到传入的元素中,该元素在.opened promise中执行。 它很hacky,但是可以用,但是我希望装饰器缺少一些东西。 [/编辑]

我所看到的最简单的解决方案是提供特定的windowClass,然后在打开对话框之后找到该类的元素并将其移到容器中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM