将指令传递给Angular Material mdPanel服务

时间:2016-06-27 16:22:58

标签: javascript angularjs angularjs-directive angular-material

我正在尝试利用mdPanel服务(Angular Material框架的一部分)为我的应用程序创建弹出窗口。我能够使服务工作,但有一个想法将指令传递给服务,这样我就可以拥有一个可以显示的动态表单元素。但是,经过documentation的广泛阅读以及一些谷歌搜索后,我似乎无法找到实现这一目标的可行方法。

我对Angular有些新意,所以如果这是不言自明的,我会道歉。感谢您提供的任何见解。

1 个答案:

答案 0 :(得分:3)

将form指令作为模板传递。所以如果你已经创建了这样的指令

angular.module('myApp')
.directive('myAwesomeFormDirective', [function() {
    return {           
        templateUrl: 'some/path/some.html',
        controller: "SomeFormController"
    };
}])

您的mdPanel配置选项如下所示。您可以随意配置其他选项,但是,“template”应设置为相关的元素指令。

 var config = {
    attachTo: angular.element(document.body),
    disableParentScroll: this.disableParentScroll,
    template: '<my-awesome-form-directive></my-awesome-form-directive>',
    hasBackdrop: true,
    panelClass: 'demo-dialog-example',
    position: position,
    trapFocus: true,
    zIndex: 150,
    clickOutsideToClose: true,
    escapeToClose: true,
    focusOnOpen: true
  };