feat(hook): add doneEach

This commit is contained in:
qingwei.li 2017-02-13 23:06:30 +08:00
commit c6f760275c
6 changed files with 30 additions and 5 deletions

View file

@ -1,3 +1,12 @@
### 2.4.0
> 2017-02-13
#### Features
- feat(hook): add `doneEach`
### 2.3.0 ### 2.3.0
> 2017-02-13 > 2017-02-13

View file

@ -67,7 +67,7 @@ window.$docsify = {
plugins: [ plugins: [
function (hook) { function (hook) {
hook.init(function() { hook.init(function() {
// Called when the script starts running, only trigger once. // Called when the script starts running, only trigger once, no arguments,
}) })
hook.beforeEach(function(content) { hook.beforeEach(function(content) {
@ -84,8 +84,13 @@ window.$docsify = {
next(html) next(html)
}) })
hook.doneEach(function() {
// Invoked each time after the data is fully loaded, no arguments,
// ...
})
hook.ready(function() { hook.ready(function() {
// Called after initialization is complete. Only trigger once. // Called after initialization is complete. Only trigger once, no arguments.
}) })
} }
] ]

View file

@ -63,7 +63,7 @@ window.$docsify = {
plugins: [ plugins: [
function (hook) { function (hook) {
hook.init(function() { hook.init(function() {
// 初始化时调用,只调用一次 // 初始化时调用,只调用一次,没有参数。
}) })
hook.beforeEach(function(content) { hook.beforeEach(function(content) {
@ -79,8 +79,13 @@ window.$docsify = {
next(html) next(html)
}) })
hook.doneEach(function() {
// 每次路由切换时数据全部加载完成后调用,没有参数。
// ...
})
hook.ready(function() { hook.ready(function() {
// docsify 初始化完成后调用,只调用一次 // 初始化完成后调用,只调用一次,没有参数。
}) })
} }
] ]

View file

@ -4,6 +4,7 @@ export default class Hook {
this.afterHooks = [] this.afterHooks = []
this.initHooks = [] this.initHooks = []
this.readyHooks = [] this.readyHooks = []
this.doneEachHooks = []
} }
beforeEach (fn) { beforeEach (fn) {
@ -14,6 +15,10 @@ export default class Hook {
this.afterHooks.push(fn) this.afterHooks.push(fn)
} }
doneEach (fn) {
this.doneEachHooks.push(fn)
}
init (fn) { init (fn) {
this.initHooks.push(fn) this.initHooks.push(fn)
} }

View file

@ -130,6 +130,7 @@ const Docsify = function () {
mainRender(_ => { mainRender(_ => {
scrollIntoView() scrollIntoView()
activeLink('nav') activeLink('nav')
window.Docsify.hook.emit('doneEach')
}) })
} }

View file

@ -342,7 +342,7 @@ const install = function () {
new SearchComponent() new SearchComponent()
!isAuto && searchPlugin() !isAuto && searchPlugin()
}) })
isAuto && hook.beforeEach(searchPlugin) isAuto && hook.doneEach(searchPlugin)
}, window.$docsify.plugins) }, window.$docsify.plugins)
} }