admin 发表于 2025-9-29 18:04:11

uniappx使用自定义组件的三种方式

一、选项式(页面导入方式):

在uniapp中基于js规范的书写代码方式就是选项式的,如下代码示例:
<template>
<view class="page">
    <CompForAppUse class="component-for-app-use" />
</view>
</template>

<script lang="uts">
import CompForAppUse from '@/components/CompForAppUse.uvue'

export default {
components: {
    CompForAppUse
}
}
</script>

这里以导入自定义组件为例,我们在export default{}外部import导入了ComForAppUse组件,必须要在export default{}内部定义components对象,以CompForAppUse为元素。当然也可以通过在page.json中定义easycom方式使用自定义组件。

二、组合式(页面导入方式):
这是unaippx在Vue3中新增的书写方式,代码示例如下:
<template>
<view class="page">
    <CompForAppUse class="component-for-app-use" />
</view>
</template>

<script setup lang="uts">
import CompForAppUse from '@/components/CompForAppUse.uvue'
</script>

我们可以看到在<script>中增加了 setup ,这就是声明组合式写法,在组合式写法中,我们无需export default组件,直接通过import导入组件就可以直接使用。

三、全局注册方式:
我们在main.uts中全局注册组件,代码如下:
import App from './App.uvue'
import CompForAppComponent from '@/components/CompForAppComponent.uvue'
export function createApp() {
const app = createSSRApp(App)
app.component('CompForAppComponent', CompForAppComponent)
}
然后我们在页面中直接可以使用组件,代码如下:
<template>
<view class="page">
    <CompForAppComponent class="component-for-app-component" />
</view>
</template>




页: [1]
查看完整版本: uniappx使用自定义组件的三种方式