我在Chapplin示例代码中看到了这些事件,但文档或源代码中没有任何解释。这似乎意味着这是一个全球性的事件,触发了一个行动。这是正确的吗?它们只是一个惯例,还是以某种方式被强制执行?
# Handle login
@subscribeEvent 'logout', @logout
@subscribeEvent 'userData', @userData
# Handler events which trigger an action
# Show the login dialog
@subscribeEvent '!showLogin', @showLoginView
# Try to login with a service provider
@subscribeEvent '!login', @triggerLogin
# Initiate logout
@subscribeEvent '!logout', @triggerLogout
引用自GitHub关于同一问题的问题:
CCD_ 1更多地是模块间消息或命令。它允许触发注销的模块(例如带有注销的视图按钮)。然后由另一个模块处理实际注销过程(例如会话控制器)。此模块使例如,服务器上的会话。成功时,它会发出
logout
事件,意味着logout
已经发生。所有模块对登录/注销感兴趣的用户应订阅logout
。
我认为这很好地解释了这一点。基本上,!
事件在动作启动时触发,而正常事件在动作成功时触发。