从自定义 md-dialog 中删除按钮 md-autofocus

Remove buttons md-autofocus from a custom md-dialog

我有一个 md 对话框 https://codepen.io/patapron/pen/oLaxap

<md-button ng-click="answer('not useful')" >
 Not Useful
</md-button>
<md-button ng-click="answer('useful')" style="margin-right:20px;" >
  Useful
</md-button>

如何从按钮中删除 md-autofocus?

目标:任何按钮都必须预先选择为灰色。

我自己解决了。指令魔法

scope.$watch(function () { return ele.attr('class'); }, function () {
    if (ele.hasClass('md-focused')) {
        ele.removeClass('md-focused');
    }
});

有一种更简单的方法可以做到这一点,而无需编写自定义指令。 Angular Material 可以移除内置自动对焦。

在您编写 .show 函数的控制器中,将 focusOnOpen 设置为 false focusOnOpen: false

文档在这里解释 $mdDialog

这是我的外观示例

    function deleteMediaDialog() {
        var dialogData = {
        };

        $mdDialog.show({
            controller         : 'deleteMediaDialogController',
            controllerAs       : 'vm',
            templateUrl        : 'app/main/apps/scala-media/dialogs/delete/delete-dialog.html',
            parent             : angular.element($document.body),
            focusOnOpen        : false,
            clickOutsideToClose: true,
            locals             : {
                dialogData: dialogData
            }
        });
    }