5

我看到這些事件遍佈在chaplin示例代碼中,但文檔或源代碼中沒有解釋。這似乎意味着它是一個全球性事件,會觸發一個行動。那是對的嗎?他們只是一個慣例,還是以某種方式執行?在Chaplin js框架中,事件前綴是什麼!意思?

# 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

GitHub issue regarding the same question引用:

!logout是多個模塊間消息或命令。它允許一個 模塊觸發註銷(例如,帶註銷 按鈕的視圖)。然後,實際的註銷過程由另一模塊 (例如會話控制器)處理。例如,該模塊使服務器上的 會話無效。當成功時,它發出一個logout 事件,這意味着發生了logout事件。對登錄/註銷感興趣的所有模塊 都應訂閱logout

我認爲這解釋得很好。基本上,當動作啓動時觸發!事件,並且當動作成功時觸發正常事件。

+0

這很有道理。謝謝,我經歷了艱難的時間尋找! – sethp 2013-02-22 17:39:24