(快速參考)

範圍

目的

變更服務的範圍

範例

class BookService {
    static scope = "session"
    ...
}

說明

預設情況下,服務的範圍為「singleton」,這表示服務的用戶端只會使用該服務的單一執行個體 (singleton)。可以透過指定 scope 屬性,並設定下列值來變更此行為

  • prototype - 每當將服務注入另一個類別時,就會建立一個新的服務

  • request - 每個要求都會建立一個新的服務

  • flash - 僅為目前和下一個要求建立一個新的服務

  • flow - 在 Web 流程中,服務會存在於流程的範圍內

  • conversation - 在 Web 流程中,服務會存在於對話的範圍內。亦即根流程及其子流程

  • session - 為使用者工作階段的範圍建立一個服務

  • singleton (預設) - 服務只會存在一個執行個體

請參閱使用者指南中的 範圍服務 以取得更多資訊。