Service
Base class for user services.
By default, construction registers the service with the current page after
init() returns, whether or not the override calls super().init(). Set client
properties and event handlers in init() so they are included in registration
and available when the Dart service initializes. Without a current page context,
the service is constructed but not registered.
Inside init(), the service isn't attached to the page yet: self.page
and self.update() raise. Use ft.context.page to access the current page.
Declared fields participate in serialization unless excluded with
metadata={"skip": True}; a leading underscore does not exclude a field.
Keep Python-only state, such as clients or handles, in excluded fields or
attributes assigned in init() without declaring them as fields.
Inherits: BaseControl