您的位置:首页 > 健康 > 养生 > 网站收录申请_国外平面设计网站大全_南京seo报价_时事政治2023最新热点事件

网站收录申请_国外平面设计网站大全_南京seo报价_时事政治2023最新热点事件

2024/12/23 8:09:37 来源:https://blog.csdn.net/lzm12278828/article/details/144084872  浏览:    关键词:网站收录申请_国外平面设计网站大全_南京seo报价_时事政治2023最新热点事件
网站收录申请_国外平面设计网站大全_南京seo报价_时事政治2023最新热点事件

        在 Vue 3 中,如果你想在 HTML 页面中实现多个自定义组件之间的切换,你可以使用 Vue 的条件渲染功能,比如 v-if、v-else-if 和 v-else 指令,或者使用 <component> 标签结合 is 属性来动态绑定组件。

1. 打开HBuilder X

图1

2. 新建一个空项目

        文件->新建->项目->uni-app

        填写项目名称:vue3demo

        选择项目存放目录:D:/HBuilderProjects

        一定要注意vue的版本,当前选择的版本为vue3

图2

        点击“创建”之后进入项目界面

图3

        其中各文件的作用

        (1)pages是存放页面的文件夹

        (2)Static是存放图片等资源的文件夹

        (3)Manifest.json是项目的配置文件

        (4)Pages.json是项目的页面配置文件

3. 新建自定义组件

        (1)新建组件存放的文件夹。在项目vue3demo上右键->新建->目录,目录名称:components(不能更改)。

        (2)定义自定义组件。假设有两个组件ComponentA和ComponentB。在目录components上右键->新建组件,组件名称为:ComponentA.vue。

图4

        ComponentA.vue的代码如下:

<template ><view class="table"><h3>登录</h3>用户名:<input class="input" type="text"/>密&nbsp;码:<input class="input" type="safe-password"/><button class="btn">登录</button></view>
</template><script>export default {name:"ComponentA",data() {return {};}}
</script><style>.table{width: 300px;height: 200px;border: 1px solid #ccc;text-align: center;}.input{border: 1px solid #ccc;}.btn{margin: 10px;background-color: aquamarine;}
</style>

图5

        主要包含三个部分

  • <template>组件界面内容
  • <script>组件绑定数据
  • <style>设定组件界面的样式

        (3)同样的方法新建其他组件,在项目vue3demo上右键->新建组件,组件名称为:ComponentB.vue。代码如下:

<template ><view class="table"><h3>注册</h3>用户名:<input class="input" type="text"/>密&nbsp;码:<input class="input" type="safe-password"/><button class="btn">注册</button></view>
</template><script>export default {name:"ComponentB",data() {return {};}}
</script><style>.table{width: 300px;height: 200px;border: 1px solid #ccc;text-align: center;}.input{border: 1px solid #ccc;}.btn{margin: 10px;background-color: aquamarine;}
</style>

4. 在主应用中使用条件渲染

        在你的主应用组件(比如index.vue)中,你可以使用v-if和v-else来根据某个条件(比如一个数据属性)来切换这两个组件。在pages/index/index.vue页面中写入代码:

<template><div id="app"><button @click="currentComponent = 'ComponentA'">显示ComponentA</button><button @click="currentComponent = 'ComponentB'">显示ComponentB</button><!-- 使用 v-if 和 v-else 来切换组件 --><component :is="currentComponent"></component><!-- 或者你也可以使用 v-if 和 v-else-if 单独控制每个组件 --><!--<ComponentA v-if="currentComponent === 'ComponentA'" /><ComponentB v-else-if="currentComponent === 'ComponentB'" />--></div>
</template><script>
import ComponentA from '../../components/ComponentA.vue';
import ComponentB from '../../components/ComponentB.vue';export default {name: 'App',components: {ComponentA,ComponentB},data() {return {currentComponent: 'ComponentA' // 初始显示的组件};}
};
</script>

        主要包括四个部分:

  • <template>显示和切换组件的界面
  • <script>引入、注册和绑定组件

        效果如图:

图6

        在这个例子中,我们有两个按钮,每个按钮都绑定了一个点击事件处理器,用于更改 currentComponent 数据属性的值。<component :is="currentComponent"></component>这行代码会根据currentComponent 的值来动态渲染相应的组件。

        你也可以选择使用 v-if 和 v-else-if 单独控制每个组件的渲染,但这通常会增加模板的复杂性,特别是在你有多个组件需要切换时。使用<component>标签和is属性是一种更简洁且可扩展的方法。

5. 运行看效果

        运行->运行到浏览器->Edge

图7

        单击选择“显示ComponentB”

图8

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com