5

我已经看到这些事件散布在卓别林示例代码中,但文档或源代码中没有解释。似乎这意味着它是一个触发动作的全局事件。那是对的吗?它们只是一个约定,还是以某种方式强制执行?

# 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
4

1 回答 1

4

从关于同一问题的 GitHub 问题中引用:

!logout更多的是模块间消息或命令。它允许一个模块触发注销(例如带有注销按钮的视图)。然后由另一个模块(例如会话控制器)处理实际的注销过程。例如,此模块使服务器上的会话无效。成功时,它会发出一个logout 事件,这意味着logout已经发生。所有对登录/注销感兴趣的模块都应该订阅logout.

我认为这很好地解释了它。基本上在!动作发起时触发事件,而在动作成功时触发普通事件。

于 2013-02-22T14:04:25.180 回答