ngClick on mdDialog 的动作按钮不触发控制器功能

ngClick on mdDialog's action button not triggering controller function

我正在尝试理解 angular 对话。我创建了一个非常简单的代码来显示自定义警报对话框。我正在尝试将字符串消息传递给对话框。对话框有一个确定按钮,应该将其关闭。

消息数据正在正确传递。但是由于某些原因,OK 按钮没有触发对话框控制器的功能。

这是我的代码

Alert.html - 包含警报对话框的模板

<md-dialog>
    <md-dialog-content>
        {{message}}
    </md-dialog-content>

    <md-dialog-actions>
        <md-button ng-click="alertFunc">
            OK
        </md-button>
    </md-dialog-actions>
</md-dialog>

AlertCtrl.js - 包含警报对话框的控制器

app.controller('AlertCtrl', function ($scope, $mdDialog, message) {
    $scope.message = message

    $scope.alertFunc = function () {
        console.log("Closing Alert Dialog")
        $mdDialog.hide()
    }
})

DialogService.js - 包含 API 以启动警报对话框

app.service('DialogService', function($mdDialog) {

    // Launch Alert Dialog
    this.alert = function (message) {

        // Show Dialog
        $mdDialog.show({    templateUrl: 'Alert.html',
                            controller: 'AlertCtrl',
                            clickOutsideToClose: true,
                            locals: { message: message }
        })
    }
})

alertFunc 中的日志从未显示。

我也试过把controllerAs : 'ctrl'放在$mdDialog.show里面。然后我把alertFunc声明改成了this.alertFunc = function...,改成了ng-click='ctrl.alertFunc'。然而,这并没有奏效。

谁能帮我解决这个问题。

谢谢

应该是ng-click="alertFunc()"而不是ng-click="alertFunc"。 2 小时的努力和一个愚蠢的括号。

令人惊讶的是,程序员竟然如此无知。