使用组件作为模板的AngularJS材料对话框

时间:2017-11-22 14:42:26

标签: css angularjs angularjs-material

我想在AngularJS材质对话框中使用一个角度组件:

return $mdDialog.show({
    template: '<publish-dialog user="$ctrl.user" target-collection="$ctrl.targetCollection"></publish-dialog>',
    controller: function () {
        this.user = user;
        this.targetCollection = targetCollection;
    },
    controllerAs: '$ctrl',
    targetEvent: event,
    clickOutsideToClose: true
});

问题是,在定义这样的模板时,生成的html如下所示:

<md-dialog>
  <publish-dialog>
    <md-toolbar></md-toolbar>
    <md-dialog-content></md-dialog-content>
    <md-dialog-actions></md-dialog-actions>
  </publish-dialog>
<md-dialog>

组件元素在md-dialog和m d-toolbar之间断开,md-dialog-contentmd-dialog-actions导致布局中断,md-toolbar和{{ 1}}没有修复。

所以我的问题是,有没有办法只渲染没有组件元素(md-dialog-actions)的组件模板内容?

1 个答案:

答案 0 :(得分:0)

在您的指令中,尝试使用replace: true

来自How to use `replace` of directive definition?