Merge pull request #877 from nordfjord/next

fix subcomponent unloading
This commit is contained in:
Leo Horie 2015-12-10 14:23:21 -05:00
commit c5a012b6f6

View file

@ -731,15 +731,19 @@ void (function (global, factory) { // eslint-disable-line
var unloaders = []
function updateLists(views, controllers, view, controller) {
if (controller.onunload != null) {
unloaders.push({
controller: controller,
handler: controller.onunload
})
}
views.push(view)
controllers.push(controller)
var idx = controllers.push(controller) - 1
unloaders[idx] = {
controller: controller,
handler: function () {
controllers.splice(controllers.indexOf(controller), 1)
views.splice(views.indexOf(view), 1)
var unload = controller && controller.onunload
if (type.call(unload) === "[object Function]") {
controller.onunload()
}
}
}
}
var forcing = false
@ -1304,6 +1308,7 @@ void (function (global, factory) { // eslint-disable-line
}
forEach(unloaders, function (unloader) {
if (unloader.controller == null) return
unloader.handler.call(unloader.controller, ev)
unloader.controller.onunload = null
})