【发布时间】:2017-08-31 23:19:44
【问题描述】:
我正在尝试理解角度对话框。我创建了一个非常简单的代码来显示自定义警报对话框。我正在尝试将字符串消息传递给对话框。对话框有一个确定按钮,应该关闭它。
消息数据正在正确传递。但是由于某种原因,确定按钮没有触发对话框控制器的功能。
这是我的代码
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'。但是,这也不起作用。
谁能帮我解决问题。
谢谢
【问题讨论】:
-
你能把这个放在一个plunker吗?
-
嗨,迈克...我把它放在 plunker 中,我突然意识到我在 ng-click 中缺少一个 ()。现在正在工作。谢谢你的评论。没有它就不会发生。 2 小时的头脑风暴就这么多。
标签: angularjs angularjs-ng-click mddialog