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]