UNPKG

vue-bind-once

Version:

A tiny, SSR-safe directive for binding random data to an element.

33 lines (29 loc) 696 B
'use strict'; const scule = require('scule'); const BindOnceDirective = { created: (el, binding) => { for (const key in binding.value) { const k = scule.kebabCase(key); if (!el.hasAttribute(k)) { el.setAttribute(k, binding.value[key]); } } }, getSSRProps(binding) { if (!binding.value) return {}; return Object.fromEntries( Object.entries(binding.value).map(([key, value]) => [ scule.kebabCase(key), value ]) ); } }; const BindOncePlugin = { install(app) { app.directive("bind-once", BindOnceDirective); } }; exports.BindOnceDirective = BindOnceDirective; exports.BindOncePlugin = BindOncePlugin;