Unmount and cleanly refresh mount points.
This commit is contained in:
parent
37e7b67a49
commit
ccc2e1c85d
1 changed files with 13 additions and 1 deletions
14
api/mount.js
14
api/mount.js
|
|
@ -1,14 +1,26 @@
|
|||
"use strict"
|
||||
|
||||
var Vnode = require("../render/vnode")
|
||||
var coreRenderer = require("../render/render")
|
||||
var autoredraw = require("../api/autoredraw")
|
||||
var dummy = {view: function() {}}
|
||||
|
||||
module.exports = function(renderer, pubsub) {
|
||||
return function(root, component) {
|
||||
pubsub.unsubscribe(root.redraw)
|
||||
|
||||
var run = autoredraw(root, renderer, pubsub, function() {
|
||||
renderer.render(root, {tag: component})
|
||||
renderer.render(
|
||||
root,
|
||||
Vnode(component === null ? dummy : component, undefined, undefined, undefined, undefined, undefined)
|
||||
)
|
||||
})
|
||||
|
||||
run()
|
||||
|
||||
if (component === null) {
|
||||
pubsub.unsubscribe(root.redraw)
|
||||
delete root.redraw
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue