• vue3自定义指令


    自定义指令是用来增强与扩展元素功能的

    vue官方文当中写的很明白,这里我就不在赘述官方文档.只记录在项目中的实际应用.

    局部定义

    1. <template>
    2. <h4>指令h4>
    3. <p v-color-red>字体固定颜色的指令p>
    4. <p v-color-value="'blue'">可赋值的颜色指令(小驼峰写法)p>
    5. <p v-ColorValue="'yellow'">可赋值的颜色指令(不用驼峰)p>
    6. template>
    7. <script setup lang="ts">
    8. const vColorRed = {
    9. beforeMount:(el:any)=>{
    10. el.style.color = 'red'
    11. }
    12. }
    13. const vColorValue = {
    14. mounted:(el:any,binding:object)=>{
    15. el.style.color = binding.value
    16. }
    17. }
    18. script>
    19. <style lang="less" scoped>style>

    效果如下

    全局定义

    在main.ts中定义两种形式的复制文本指令

    1. import { createApp } from 'vue'
    2. import App from './App.vue'
    3. const app = createApp(App)
    4. //复制元素上所有文本
    5. app.directive('copy',{
    6. mounted:(el)=>{
    7. el.onclick = function(){
    8. console.log(el.innerText,'el是什么')
    9. navigator.clipboard.writeText(el.innerText)
    10. ElMessage.success('复制成功')
    11. }
    12. }
    13. })
    14. //复制可以选择的文本
    15. app.directive('CopyValue',{
    16. mounted:(el:any,binding:object)=>{
    17. el.onclick = function(){
    18. navigator.clipboard.writeText(binding.value)
    19. ElMessage.success('复制成功')
    20. }
    21. }
    22. })

    在页面中应用如下

    1. <template>
    2. <h4>指令h4>
    3. <p v-color-red>字体固定颜色的指令p>
    4. <p v-color-value="'blue'">可赋值的颜色指令(小驼峰写法)p>
    5. <p v-ColorValue="'yellow'">可赋值的颜色指令(不用驼峰)p>
    6. <p style="cursor: pointer;" v-copy>点击我可以复制一段文字p>
    7. <p>{{ copyStr }}   <el-icon style="cursor: pointer;font-size: 24px;" v-copy-value="copyStr"><CopyDocument />el-icon>p>
    8. template>
    9. <script setup lang="ts">
    10. const vColorRed = {
    11. beforeMount:(el:any)=>{
    12. el.style.color = 'red'
    13. }
    14. }
    15. const vColorValue = {
    16. mounted:(el:any,binding:object)=>{
    17. el.style.color = binding.value
    18. }
    19. }
    20. const copyStr = '可以自定义的复制操作,点击小图标才可以复制我'
    21. script>
    22. <style lang="less" scoped>style>

    效果如下

  • 相关阅读:
    组合式API_模板引用
    整理ArrayList和LinkedList中的方法
    C语言实验手册
    ChatGPT国内免费使用方法有哪些?
    Mybatis的关联关系配置一对一,一对多,多对多的映射关系
    EG边缘计算网关连接纵横云3.0物联网平台(MQTT协议)
    Allegro批量剪断走线操作
    Vim 常用指令
    【QT】Ubuntu22.04 配置 QT6.5 LTS
    【网络篇】第二篇——IP协议与MAC地址详解
  • 原文地址:https://blog.csdn.net/m0_54741495/article/details/132662696