Встречается на собеседованиях • сегодня
Как написать кастомную директивы
В Vue.js кастомные директивы позволяют добавлять пользовательское поведение DOM-элементам. Они создаются с помощью Vue.directive() или в опциях компонента через directives.
Пример глобальной директивы, которая фокусирует элемент:
javascript
Vue.directive('focus', {
inserted: function (el) {
el.focus()
}
})Локальная директива в компоненте:
javascript
directives: {
highlight: {
bind(el, binding) {
el.style.backgroundColor = binding.value || 'yellow'
}
}
}Основные хуки директив:
bind- вызывается один раз при привязкеinserted- элемент вставлен в DOMupdate- вызывается при обновлении родительского компонентаcomponentUpdated- после обновления дочерних компонентовunbind- при удалении элемента
Пример с аргументами и модификаторами:
javascript
Vue.directive('pin', {
bind: function (el, binding) {
el.style.position = 'fixed'
if (binding.arg === 'left') {
el.style.left = binding.value + 'px'
} else {
el.style.top = binding.value + 'px'
}
}
})
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы