在Vue3和uni-app中,你可以使用component
元素和is
属性来动态渲染组件。这里是一个简单的例子:
<template>
<view>
<component :is="currentComponent"></component>
</view>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const currentComponent = ref('MyComponentA');
// 动态更改要渲染的组件
function changeComponent(componentName) {
currentComponent.value = componentName;
}
// 返回到模板中使用的响应式属性
return {
currentComponent,
changeComponent
};
}
};
</script>
在这个例子中,currentComponent
是一个响应式引用,它持有当前要渲染的组件名称。你可以通过changeComponent
函数来更新这个引用,从而动态地改变渲染的组件。
假设你有两个组件MyComponentA
和MyComponentB
,你可以在需要的时候调用changeComponent('MyComponentB')
来切换到MyComponentB
。
请确保你的组件在components
选项中已经正确注册,否则Vue将无法识别它们。
import MyComponentA from './components/MyComponentA.vue';
import MyComponentB from './components/MyComponentB.vue';
export default {
components: {
MyComponentA,
MyComponentB
},
// ...
};
这样,你就可以在H5和App端使用Vue3和uni-app来动态渲染不同的组件了。