控制器

响应式控制器是一个对象,它通过聚合与单个功能相关的状态、行为和生命周期钩子,使子组件代码组织和重用成为可能。

导入

详情

控制器通过 addController() 方法添加到主机组件或实现 ReactiveControllerHost 接口的其他对象。它们可以通过实现一个或多个生命周期回调来挂接主机组件的生命周期,或者通过在主机上调用 requestUpdate() 来启动对主机组件的更新。

方法和属性

当主机连接到组件树时调用。对于自定义元素主机,这对应于 connectedCallback() 生命周期,该生命周期仅在组件连接到文档时调用。

当主机从组件树断开连接时调用。对于自定义元素主机,这对应于 disconnectedCallback() 生命周期,该生命周期在主机或祖先组件从文档断开连接时调用。

在客户端主机更新期间调用,就在主机调用其自身更新之前。

详情

update() 中的代码可以依赖 DOM,因为它不会在服务器端渲染中调用。

在主机更新之后调用,就在主机调用 firstUpdated 和 updated 之前。它不会在服务器端渲染中调用。

可以托管响应式控制器并调用其生命周期回调的对象。

导入

方法和属性

只读 updateComplete: Promise<boolean>

updateComplete 的永久链接 查看源代码

返回一个 Promise,该 Promise 在主机完成更新时解析。Promise 值是一个布尔值,如果元素在没有触发其他更新的情况下完成了更新,则为 true。如果 Promise 结果为 false,则在 updated() 内部设置了一个属性。如果 Promise 被拒绝,则在更新期间抛出了异常。

将控制器添加到主机,这将设置控制器的生命周期方法,以便与主机的生命周期一起调用。

参数
controller
ReactiveController

removeController(controller): void

removeController 的永久链接 查看源代码

从主机中删除控制器。

参数
controller
ReactiveController

请求主机更新,该更新将异步处理。可以通过 updateComplete 属性等待更新。