alpinejs
Version:
The rugged, minimal JavaScript framework
17 lines (10 loc) • 356 B
JavaScript
import { closestRoot } from '../lifecycle'
import { directive } from '../directives'
function handler () {}
handler.inline = (el, { expression }, { cleanup }) => {
let root = closestRoot(el)
if (! root._x_refs) root._x_refs = {}
root._x_refs[expression] = el
cleanup(() => delete root._x_refs[expression])
}
directive('ref', handler)