`ui.scene` 和 `ui.scene_view`: 在 `mounted()` 返回之前调用 `initialized()` 时,它永远不会解析
说明
" scene.js " 和 " scene.view.js " 都从setInterval'中释放出init',这是scene.js:224'和scene.view.js:97'的最后声明。 在那之前,挂起()'的每一个早期出口都使初始化-事件'无法永远设定,而`初始化()'则在等待,没有超时和错误。 元素是活的,它的客户是活的,等待的任务只是公园。
今天有两个这样的出口。
**1. cene-view'的出处被删除。 **cene-view.js:11'读作get Element(This.sceneId)'。 如果当时来源ui.scene'已消失,则改为投掷,而`挂起()'的其余部分——包括间隔——则从未运行。
2. 任何 " ui.scene " 或 " ui.scene-view " 没有WebGL. 渔获物'大约为新的THREE.WebGLRender(.)',使得“Could not create WebGL 渲染器”倒置并返回:scene view.js:48-54'和cene.js:101-107'的形状完全相同。 因此,在一台没有WebGL的机器或浏览器上,该元素显示其倒置文本,外观被处理——并“等待场景。初始化()”再也不会回来。 这半句只读出源头:我手头没有无WebGL的环境,在有人采取行动之前,应该用真实的环境来验证. 下面的复制内容涵盖了第一起案例.
初相例中最细. 该页印出PAGE-START',然后无一字:既不是重新开放',也不是`取消'。
导入 Ayncio
从 nicegui 导入 ui
@ui.page ('/') (中文(简体) ).
aync def 页 ():
ii. label ('PAGE- Start') (英语).
场景 = ui.scene()
视图 = ui.scene view(cene)
scene.delete () (中文(简体) ).
尝试 :
等待视图。 初始化( )
ii. label ('resOLVED') (中文(简体) ).
除了阿辛西奥 已取消错误 :
ii. label ('cled') (中文(简体) ).
提高
运行( )浏览器控制台携带原因 :
TypeError: 无法读取未定义的属性( 读取“ scene ”)
在代理服务器上挂载(./组件/./scene view.js:11)#6271 / #6294 为何不涵盖此事?
将等待要素本身删除的案件结案:可撤销的等待号取消服务员,而初始化() ' 提出失效的Error ' 。 在这里,等待的元素永远不会被删除——只有它的依赖性是,或者它的渲染器失败了——所以混合剂永远不会起火. 在#6294之后,当cene view'本身被删除,而不是一直活到关闭时,被搁置的任务至少被收获;但仅仅等待初始化()'的一页仍然被搁置。
需要决定的是什么
- ** " 初始化() " 在初始化最终失败时应做什么? ** 6277号裁决的自然相似之处是提出而不是解决——解决会报告一个从未发生过的初始化. 这需要联署材料的一个渠道:挂有失败旗帜的 " 无效 " 事件,或单独的 " 无效 " 事件。
- ** `场景-观点 ' 是否应该跟踪其源头? ** 今天,依赖性仅存在于JS( " sceneId " )中,没有Python的侧生命周期链接,因此删除场景留下了永远无法初始化的视角. 删除 . . . . . . .
内容来源: zauberzeug/nicegui