Comments 8
UFO just landed and posted this here
Ну почему же ни слова. Пара слов есть. )
vuejs.org/v2/guide/components-edge-cases.html#Programmatic-Event-Listeners
А вообще то — чего нет в документации — это обычно возможности, которые не рекомендуется использовать, потому что они могут исчезнуть или измениться в очередной версии.
vuejs.org/v2/guide/components-edge-cases.html#Programmatic-Event-Listeners
А вообще то — чего нет в документации — это обычно возможности, которые не рекомендуется использовать, потому что они могут исчезнуть или измениться в очередной версии.
А вообще то — чего нет в документации — это обычно возможности, которые не рекомендуется использовать, потому что они могут исчезнуть или измениться в очередной версии.
Эти события порождаются в библиотеке ядра vue, если точнее vue/src/core/instance/lifecycle.js:
export function callHook (vm: Component, hook: string) {
// #7573 disable dep collection when invoking lifecycle hooks
pushTarget()
const handlers = vm.$options[hook]
const info = `${hook} hook`
if (handlers) {
for (let i = 0, j = handlers.length; i < j; i++) {
invokeWithErrorHandling(handlers[i], vm, null, vm, info)
}
}
if (vm._hasHookEvent) {
vm.$emit('hook:' + hook) // <- вот тут вот
}
popTarget()
}
Не думаю, что события порожденные ядром для каждого компонента в вашем приложении не рекомендуются к использованию т.к.:
— ядро само их использует и слушает
— ну и из приведенного вами пункта документации можно, вывести что компонент порождает событие hook: имя_хука_жизненного_цикла, но вот о том что его можно подслушать на компоненте, увы не сказано.
Не думаю, что события порожденные ядром для каждого компонента в вашем приложении не рекомендуются к использованию
Конечно вы можете их использовать, но разработчики оставляют за собой право в любой момент убрать их, переименовать или изменить логику их работы. Это конечно не критично, но надо об этом помнить. Подобных «скрытых» возможностей во Vue много и Эван сам писал что лучше воздержаться от использования их в коде. Например вот он пишет про использование _uid.
ну и из приведенного вами пункта документации можно, вывести что компонент порождает событие hook: имя_хука_жизненного_цикла, но вот о том что его можно подслушать на компоненте, увы не сказано
1. Компонент порождает события «hook:».
2. События компонента можно слушать.
Неужели вам надо сказать это еще более явно? )
Кстати, интересно, сначала:
а далее:
Есть мнение, что эти строки писали разные люди или в процессе работы программист выучил шаблонные литералы)
`${hook} hook`
а далее:
'hook:' + hook
Есть мнение, что эти строки писали разные люди или в процессе работы программист выучил шаблонные литералы)
Как уживаются события хуков внутри компонента с событиями, определенными снаружи для того же хука?
Sign up to leave a comment.
Vue.js: Хуки жизненного цикла ваших и сторонних компонентов