【发布时间】:2013-11-08 11:57:49
【问题描述】:
给定以下用例:
我使用 D3js 来渲染由 AngularJS 管理的对象。我想为 D3 图表添加交互性。单击 svg 元素时,我希望有一种允许修改对象属性的弹出菜单。 AngularJS 需要这些属性,但 D3 不呈现这些属性。
D3-Angular 集成源自使用闭包的http://bl.ocks.org/biovisualize/5372077。
当前实施:
截至今天,我正在使用 angular-ui bootstrap 中的 $modal 服务来创建弹出菜单。从功能的角度来看,它工作得很好: 当点击一个 svg 元素时,D3 调度一个事件 该事件被调用 $modal 服务的 Angular 捕获 在模态窗口中,我修改对象属性
但是我对渲染不满意。我希望弹出菜单看起来像一个弹出框。它应该靠近被点击的 svg 元素。
据我了解,我有两种选择:
- 继续使用 $modal 服务并修改其外观。应该采取什么方法?使用 windowClass 选项?
- 停止使用 $modal 服务并开始破解 popover 指令。问题是我认为不可能 将这样的指令添加到 svg 元素。解决方案是 在 $modal 服务附近创建一个弹出服务。
应该选择哪个选项?以及如何实现?
编辑:
使用自定义 my-popover 指令的工作 plunker: http://plnkr.co/edit/5KYvxi?p=preview
【问题讨论】:
标签: angularjs d3.js modal-dialog popover angular-ui