装饰Angular-UI引导模式



我有一个正在构建的特性,它是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…当然它没有定义。它是服务的内部方法。

那是我真正被困住的时候。如果不重新定义服务中的所有私有函数/对象/道具,似乎不可能用一个新方法来修饰这个服务。

是这样吗?

[EDIT TO ADD]我最终用一个updateParentElement方法装饰了这个服务,然后将模态移动到传入的元素中,该元素在.opened promise中执行。虽然有点俗气,但很好用,但我希望我对装修师有所了解。(/编辑)

我认为最简单的解决方案是提供特定的windowClass,然后在对话框打开后通过该类找到它的元素并将其移动到容器

相关内容

  • 没有找到相关文章

最新更新