我正在尝试在指令中包含对话框的代码。换句话说:
$mdDialog.show({ ..... template: '<my-directive></my-directive>', ..... })
当然,“我的指示”将是
<md-dialog>.....</md-dialog>
唯一的解决方案是将对话框的完整骨架置于“my-directive”之外,并直接导入$mdDialog.show()
。仅供参考,我尝试了transclude=true
,但它也没有用。
如果你想知道这个烂摊子的原因,我试图避免控制器。有什么建议吗?
谢谢!
答案 0 :(得分:3)
我实现此功能的唯一方法是在对话框模板选项的指令周围添加<md-dialog>
标记。
$mdDialog.show({ ..., template: '<md-dialog><my-directive></my-directive></md-dialog>' });
对话框服务在编译模板之前尝试访问md-dialog元素以配置ARIA标记。 这就是代码无法工作的地方。