我正在使用Angular Material,我使用$mdDialogProvide创建了一个简单的预设对话框:
angular.module('starterApp').config([ '$mdDialogProvider',function ($mdDialogProvider) { $mdDialogProvider.addPreset('warning',{ options: function () { return { template: '<md-dialog>' + '{{dialog.warning}}' + '</md-dialog>',controllerAs: 'dialog',theme: 'warning' }; } }); } ]);
我想在调用它时传递一条警告信息.我试图传递一条消息,例如:
$mdDialog.show( $mdDialog.warning({ locals: { warning: 'Warning message' } }) );
但是不起作用.
实际上我检查了很多解决方案,但没有一个能正常工作.文档中也没有这样的例子.
是否可以将某些日期传递给预设对话框?
解决方法
这是一种方法 –
CodePen
<div ng-controller="AppCtrl" ng-cloak="" ng-app="MyApp"> <md-button ng-click="showDialog()">Show Dialog</md-button> </div>
JS
angular.module('MyApp',['ngMaterial','ngMessages']) .config([ '$mdDialogProvider',{ options: function () { return { template: '<md-dialog aria-label="Dialog">' + '{{warning}}' + '</md-dialog>',controller: DialogController,theme: 'warning',clickOutsideToClose: true }; } }); function DialogController($scope,$mdDialog,locals) { console.log(locals); $scope.warning = locals.warning; } } ]) .controller('AppCtrl',function($scope,$mdDialog) { $scope.showDialog = function () { $mdDialog.show( $mdDialog.warning({ locals: { warning: 'Warning message' } }) ); } });