Spaces:
Running
Running
| # Application | |
| 应用的根组件,该组件包含了所有`modelscope_studio`的组件依赖,需要确保所有从`modelscope_studio`导出的组件都被其包裹,否则页面将会无法成功预览。 | |
| 该组件还可以监听用户页面的生命周期,并获取当前用户的环境信息,您可以 | |
| - 获取当前用户的语言、页面主题、user agent 和屏幕状态。 | |
| - 监听页面行为并触发相应事件(页面加载、尺寸变化、页面关闭等)。 | |
| 另外,该组件还提供了`custom`事件,您可以通过在任意 Javascript 函数中调用`window.ms_globals.dispatch`主动向 Python 端发送事件,在 Python 端可以通过`ms.Application.custom`事件接收。 | |
| ## 示例 | |
| <demo name="basic"></demo> | |
| <demo name="language_adaptation" title="自动适配用户语言环境"></demo> | |
| <demo name="theme_adaptation" title="根据用户界面主题返回不同权重内容"></demo> | |
| <demo name="custom_event" title="发送自定义事件"></demo> | |
| ## API | |
| ### 属性 | |
| | 属性 | 类型 | 默认值 | 描述 | | |
| | ----- | ------------------- | ------ | -------- | | |
| | value | ApplicationPageData | None | 页面数据 | | |
| ### 事件 | |
| | 事件 | 描述 | | |
| | --------------------------------- | ---------------------------------------------------------------------------- | | |
| | `ms.Application.mount(fn, ···)` | 当页面加载时触发。 | | |
| | `ms.Application.resize(fn, ···)` | 当页面尺寸变化时触发。 | | |
| | `ms.Application.unmount(fn, ···)` | 当页面卸载时触发。 | | |
| | `ms.Application.custom(fn, ···)` | 当用户在 JavaScript 中调用`window.ms_globals.dispatch`抛出自定义事件时触发。 | | |
| ### 类型 | |
| ```python | |
| class ApplicationPageScreenData(GradioModel): | |
| width: float | |
| height: float | |
| scrollX: float | |
| scrollY: float | |
| class ApplicationPageData(GradioModel): | |
| screen: ApplicationPageScreenData | |
| language: str | |
| theme: str | |
| userAgent: str | |
| ``` | |