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

Closed
fukudayasuo opened this Issue May 30, 2014 · 0 comments

Comments

Projects
None yet
2 participants
@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されたコントローラが残ってしまう。

@simdy simdy added this to the v1.1.12 milestone Jun 3, 2014

@simdy simdy added the bug label Jun 8, 2014

fukudayasuo pushed a commit to hifive-labs/hifivemain that referenced this issue Jun 24, 2014

fukudayasuo
#367 __unbind時の例外が正しく投げられるようにしました
#334 h5controllerunboundイベントは、管理対象に追加されたコントローラについてのみ上がるようにしました。

@simdy simdy closed this Jun 27, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment