问答

Vue3.0如何在 自定义指令中,插入组件

作者:admin 2021-04-17 我要评论

问题描述 Vue3.0中使用自定义指令,如何在使用指令的元素上插入 组件 相关代码 loading.vue template !--loading--/templatescript /*loading*//script main.js ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

问题描述

Vue3.0中使用自定义指令,如何在使用指令的元素上插入 组件

相关代码

  • loading.vue
<template>
    <!--loading-->
</template>
<script>
    /*loading*/
</script>
  • main.js
...
import Loading from '../loading.vue'
app.directive('loading',(el,binding) => {
    let loading = binding.value;
    /*如何将组件loading挂载到使用组件的el上?**/
})
...
  • 组件中使用
<component v-loading="loading"></component>

<script>
...
setup() {
    let loading = ref(false)
    return {
        loading
    }
}
...
</script>
###

题主是不是要写组件,然后通过属性控制

// loading.vue
<template>
    <div class="loading" v-show="loading" />
</template>
<script lang="ts">
    import { defineComponent } from 'vue'
    export default defineComponent({
     props: {
        loading: {
          type: Boolean,
          default: false
        }
      },
    })
</script>
//   组件中使用
<template>
  <Loading :loading="loading" />
</template>
<script lang="ts">
import Loading from './Loading.vue'
import { ref, defineComponent } from 'vue'

export default defineComponent({
  components:{
    Loading,
  },
  setup(){
    const loading = ref(true);
    
    return {
        loading
    }
  }
})
</script>

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器