关闭"角度材质"对话框

Pra*_*ury 3 html javascript css angularjs angular-material

从控制器调用$ mdDialog.cancel()将关闭对话框.但有没有一种方法不使用控制器直接从html关闭对话框?我想要这样的东西工作:

<md-dialog-actions layout="row">
      <span flex></span>
      <md-button ng-click="$mdDialog.cancel()" style="margin-right:20px;" >
        Ok
      </md-button>
    </md-dialog-actions>
Run Code Online (Sandbox Code Playgroud)

ulu*_*ulu 7

在您的show()代码中,您可以创建子范围并添加close()功能:

$mdDialog.show({
    ...
    scope: angular.extend($scope.$new(), { close: function() {$mdDialog.cancel();} })
});
Run Code Online (Sandbox Code Playgroud)

然后在对话框的HTML中,只需使用ng-click="close()".

或者,您可以将$mdDialog对象作为范围的属性传递.

但是,它甚至比创建控制器(也可以在show()函数内创建)更多的代码.