|
|||||||
Пользовательские директивы в Vue
Время создания: 24.02.2018 12:02
Автор: br0ke
Текстовые метки: javascript, js, vue, vuejs, vue.js, v-, directives, directive, custom directive, custom, arg, value, modifiers
Раздел: Информационные технологии - JavaScript - Vue
Запись: and-semakin/mytetra_data/master/base/1519455766g5abdtn1wc/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Vue поддерживает как встроенные директивы, так и пользовательские. Директива -- это обычный JavaScript-объект, имеющий определенные методы, которые изменяют DOM и которые Vue вызывает в определенные моменты времени. Жизненный цикл директивы (хуки) ====================== Рассмотрим список этих методов (хуков):
В следующем разделе мы рассмотрим аргументы, передаваемые в эти хуки (а именно: el, binding, vnode и oldVnode). Параметры хуков =========== В хуки передаются следующие параметры:
Все аргументы, кроме el, следует понимать как только для чтения и никогда не изменять их. Глобальная и локальная регистрация директив ============================== Глобальная регистрация: // Регистрируем глобальную пользовательскую директиву `v-focus` Локальная регистрация (внутри определения компонента): directives: { Использование (к имени директивы при использовании нужно добавлять префикс v-): <input v-focus> Пример -- самописный аналог директивы v-on: =========================================== <template> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-8 col-sm-offset-2 col-md-6 col-md-offset-3"> <h1>Directives Exercise</h1> <button v-my-on:click="onClick">Click me!</button> </div> </div> </div> </template> <script> export default { methods: { onClick() { alert('clicked!'); } }, directives: { 'my-on': { bind(el, binding, vnode) { el.addEventListener(binding.arg, binding.value) } } } } </script> <style> </style> |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|