|
|
@@ -1,7 +1,7 @@
|
|
|
<script setup lang="ts">
|
|
|
-import { ObjectDirective } from '@vue/vapor'
|
|
|
+import { ObjectDirective, FunctionDirective, ref } from '@vue/vapor'
|
|
|
|
|
|
-const text = 'created (overwrite by v-text), '
|
|
|
+const text = ref('created (overwrite by v-text), ')
|
|
|
const vDirective: ObjectDirective<HTMLDivElement, undefined> = {
|
|
|
created(node) {
|
|
|
if (!node.parentElement) {
|
|
|
@@ -18,8 +18,19 @@ const vDirective: ObjectDirective<HTMLDivElement, undefined> = {
|
|
|
if (node.parentElement) node.textContent += 'mounted, '
|
|
|
}
|
|
|
}
|
|
|
+const vDirectiveSimple: FunctionDirective<HTMLDivElement> = (node, binding) => {
|
|
|
+ console.log(node, binding)
|
|
|
+}
|
|
|
+const handleClick = () => {
|
|
|
+ text.value = 'change'
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<template>
|
|
|
- <div v-directive:foo.bar="text" v-text="text" />
|
|
|
+ <div
|
|
|
+ v-directive:foo.bar="text"
|
|
|
+ v-text="text"
|
|
|
+ v-directive-simple="text"
|
|
|
+ @click="handleClick"
|
|
|
+ />
|
|
|
</template>
|