Skip to content

h5controllerboundイベントが上がる前にコントローラをunbindすると、unbindされたコントローラがコントローラの管理対象に残っている #334

@fukudayasuo

Description

@fukudayasuo

コントローラをバインドして、コントローラマネージャの管理対象になる前にコントローラをunbindすると、unbindされたコントローラがコントローラの管理対象に残ってしまう。

h5.core.controller('body', {
    __name: 'A',
    __postInit: function() {
        this.unbind()
    }
});
h5.core.controllerManager.getAllControllers();
// <- [ Contoller ]

コントローラは__readyを実行する前に、コントローラマネージャの管理対象に追加して、h5controllerboundをあげている。

コントローラマネージャの管理対象になると、h5.core.controllerManager.getControllers()で取得することができる。

コントローラをunbindした時は、unbind()を呼んで同期でコントローラマネージャの管理対象から外している。

このような挙動のため、例えば__postInit(またはそれ以前)のタイミングなどで、コントローラをunbindすると、コントローラマネージャの管理対象に、unbindされたコントローラが残ってしまう。

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions