Custom Directives
自定义指令学习场景
- 学习场景:使用文字绑定函数,处理点击后自定义指令的
element
的渲染innerText
进行反转
1.组件内定义
<template>
<div class="about">
<h1 v-reserve> This is an tableView components page</h1>
</TableView>
</div>
</template>
<script setup>
import TableView from '@/components/TableView';
import {getCurrentInstance, reactive, ref, toRefs} from "vue";
let proxy = getCurrentInstance()
function textReserve(_el) {
console.log('hihi',_el.innerText)
if(_el.innerText && typeof _el.innerText === 'string') {
_el.innerText = _el.innerText.split("").reverse().join("")
}
}
const vReserve = {
mounted(el, binding, vnode, prevVnode) {
el.addEventListener('click',()=>textReserve(el))
},
beforeUnmount(el, binding, vnode, prevVnode) {
el.removeEventListener('click',textReserve)
},
}
</script>
function textReserve(_el) {
console.log('hihi',_el.innerText)
if(_el.innerText && typeof _el.innerText === 'string') {
_el.innerText = _el.innerText.split("").reverse().join("")
}
}
const vReserve = {
mounted(el, binding, vnode, prevVnode) {
el.addEventListener('click',()=>textReserve(el))
},
beforeUnmount(el, binding, vnode, prevVnode) {
el.removeEventListener('click',textReserve)
},
}
2.全局定义