我在初始化时有面板显示,当我按下“关闭”图标时隐藏。 按'esc'按钮时如何关闭面板? 这是面板html:
<div ng-init="vm.onInit()" class="mainContent">
<div ng-if="vm.bool" class="fade totalFolderList">
<div flex layout="row" layout-align="end end">
<div>
<md-button ng-click="vm.hidePanel()" class="md-fab " aria-label="Use Android">
<md-icon md-font-icon="zmdi zmdi-close"></md-icon>
</md-button>
</div>
</div>
<div layout="row" layout-fill flex>
<div class="folderListPanel padding-top-10" flex layout="column" layout-align="start center">
<div>There are {{vm.foldersToJoin}} folder's to join</div>
<div>
<md-input-container>
<label></label>
<input ng-model="search.name" placeholder="Filter">
</md-input-container>
</div>
<div style="overflow:auto;" class="whiteFrames">
<md-whiteframe class="md-whiteframe-8dp foldersInList capitalize" layout ng-repeat="folder in vm.folderList | filter:search" ng-click="vm.openFolder(folder.id)">
<span class="padding-left-10">{{folder.name = vm.getIterationName(folder.metadata)}}</span>
</md-whiteframe>
</div>
</div>
</div>
</div>
</div>
这是控制器中的hidePanel()方法:
function vm.hidePanel() {
vm.bool = false;
var intervalRequests = $timeout(function() {
$state.go('triangular.work');
}, 1000);
}
答案 0 :(得分:2)
在控制器内使用$document
服务。例如:
//inside controller code
$document.bind('keydown', function (e) {
if (e.keyCode==27){ //27 is ESC
//here code for hide panel
vm.hidePanel();// if vm is local variable of controller
}
});