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 小时的努力和一个愚蠢的括号。
令人惊讶的是,程序员竟然如此无知。
我正在尝试理解 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 小时的努力和一个愚蠢的括号。
令人惊讶的是,程序员竟然如此无知。