首页 > 其他分享 >Vue3:注册组件

Vue3:注册组件

时间:2022-09-20 22:44:13浏览次数:74  
标签:vue app defineAsyncComponent 注册 Vue3 组件 import Box1

注册组件

组件内部

<script>
    import Box1 from "./Box1.vue"
    export defult{
        components:{
            Box1
        },
        setup(){}
    }
</script>

 

vue3组件内部组合式API setup语法糖中注册组件

<script setup>
    import Box1 from "./Box1.vue"  
    //只需要导入 不用写注册代码  会在打包的时候自动帮我们注册 
</script>

 

注册全局组件

//main.js文件:
import { createApp} from 'vue'
import App from './App.vue'
const app=createApp(App)

import Box1 from "./Box5.vue"
app.component(Box1.name,Box1)

app.mount('#app')//注意 一定要在app.mount之前注册全局组件 否则使用不了

 

定义同步组件:

//Box1.vue文件:
<script>
  import {defineComponent} from "vue"
  export default defineComponent({
        data(){
            return {}
        },
        methods:{},        
        setup(){
        }        
    });
</script>

 

定义局部异步组件:

组件内部

<script>
    import {defineAsyncComponent} from "vue"
    let Box1 = defineAsyncComponent(() => import("./Box1.vue")) //注意3.2之后不用引入defineAsyncComponent
    export default {
        components: {
            Box1
        },
        setup() {}
    }
</script>

setup语法糖:

<script setup>
        import     Box1 from "./Box1.vue"
        import     Box2 from "./Box2.vue"
        import {defineAsyncComponent} from "vue"
        let Box3=defineAsyncComponent(()=>import("./Box3.vue"))//注意3.2之后不用引入defineAsyncComponent,而且这个变量名直接就是注册的组件名(打包时自动注册的)
</script>

 

定义全局异步组件:

//main.js文件:
import { createApp,defineAsyncComponent} from 'vue'
import App from './App.vue'
const app=createApp(App)
let Box1=defineAsyncComponent(()=>import("./Box4.vue"))
app.component("Box1",Box1)
app.mount('#app')//注意 一定要在app.mount之前注册全局组件 否则使用不了

 

标签:vue,app,defineAsyncComponent,注册,Vue3,组件,import,Box1
From: https://www.cnblogs.com/LIXI-/p/16712934.html

相关文章

  • Vue3:Suspense
    等待异步组件时渲染一些额外的内容,让应用有更好的用户体验<suspense>组件有两个插槽。它们都只接收一个直接子节点。default插槽里的节点会尽可能展示出来。如果不能,则......
  • Vue3:监听属性
    监听属性与vue2.x中的watch配置功能一致注意监视reactive定义的响应式数据时,oldvalue无法正确获取,强制开始了深度监视(deep的配置失效)监视reactive定义的响应......
  • Vue3:生命周期
    Vue3.x的生命周期在Vue3.x中,新增了一个setup生命周期函数,setup执行的时机是在beforeCreate生命函数之前执行,因为在这个函数中不能通过this来获取实例的;同时为了命名的统一......
  • Vue 系统组件 <Transition> 简介
    <Transition>动画过渡组件 可在组件或元素显示、隐藏时产生过渡效果。触发条件:  v-if  v-show  动态组件component的切换 注意事件:1、<Transition>仅......
  • ajax+tp5 详情页跳转/实现登录--注册
      需求:点击资料下载后   跳转到登录页登录成功下载资料,  有账号即可登录  无账号即需注册!<formaction=""method="POST"role="form"class="logi......
  • vue3在单独的js文件中使用pinia报错:getActivePinia was called with no active Pinia.
    1、之前在main.js中使用方式是:import{createPinia}from'pinia'constpinia=createPinia();app.use(pinia);2、现在的问题是我要再建一个js文件,需要用到我建的pini......
  • elementui之pagination组件
    当数据量过多时,使用分页分解数据。设置layout,表示需要显示的内容,用逗号分隔,布局元素会依次显示。prev表示上一页,next为下一页,pager表示页码列表,除此以外还提供了jumper和t......
  • antdV2.2.8版本,组件a-upload 文件上传 uploading只触发一次
    antd的a-upload组件,再上传文件时,有三个状态uploadingdoneerror但是,在上传时,一直在uploading状态,即使文件已经上传成功了,uploading状态还不切换到done状态。解决办法......
  • 基于HBuilderX+UniApp+ThorUI的手机端前端的页面组件化开发经验
    现在的很多程序应用,基本上都是需要多端覆盖,因此基于一个WebAPI的后端接口,来构建多端应用,如微信、H5、APP、WInForm、BS的Web管理端等都是常见的应用。本篇随笔继续分析总......
  • 京东物流注册流程
    京东物流流程注册账号,创建物流应用(需要提交《物流应用系统对接申请》)保存AppKey和AppSecret,并配置回调接口调用接口获取codehttps://open-oauth.jd.com/oauth2......