我希望根据按键更改状态 - 即M键加载菜单,G键加载指南 - 它们是完全独立的视图。
我正在做一个假设,我可以做一个全局指令
$document.on 'keydown', ( event ) ->
if event.keyCode == 77
$state.go 'mainMenu'
然而,当视图被破坏时,它仍在回答这些按键,我想有效地阻止它
在处理视图的指令中
我有
scope.$on '$destroy', ->
$document.off( 'keydown' )
然而,这将阻止全局指令
发布所有密钥基本上在整个多状态应用程序中处理键导航的任何帮助
非常感谢答案 0 :(得分:2)
$on
实际上会返回事件侦听器驱逐舰功能(或$off
,如果你愿意的话),所以我相信
var unsubscribeKeyDown = $document.on 'keydown', ( event ) ->
if event.keyCode == 77
$state.go 'mainMenu'
和
scope.$on '$destroy', ->
unsubscribeKeyDown();
应该这样做。
查看this answer。