博客
关于我
vue用component动态组件的方式,实现加载组件,类似tab栏的效果
阅读量:681 次
发布时间:2019-03-17

本文共 781 字,大约阅读时间需要 2 分钟。

在项目开发过程中,当我们需要干预组件化管理时,会涉及到多个步骤来实现组件的复用和动态加载。本节将详细讲解如何实现一个有条件组件切换的灵活应用方案。

第一步,我们需要在父组件中正式引入我们需要加载和展示的子组件。具体来说,我们会在父组件的文件中加入以下内容:

在这个代码片段中,我们从项目路径中导入了两个子组件:service以及event。随后,我们将这些组件注册至父组件中,这样我们才能在父组件的HTML模板中简单地引用它们。

在HTML页面中,初步的绘制工作也需要完成。我们需要设置一个包含切换按钮的区域,使用户可以通过点击切换查看不同的组件展示。基本结构如下:

在这部分代码中,我们创建了两个切换按钮,分别点击后会触发切换不同的子组件展示。同时,我们还准备了一个动态组件引用区域,用于展示当前切换的子组件内容。

接下来,我们需要对数据进行适当的初始化设置。从父组件的数据部分,可以看到以下内容:

我们可以看到,父组件默认展示的是service组件。同时,changeActive字段初始设置为空,稍后将在切换逻辑中用于判断当前处于哪个状态。

在组件切换逻辑上,我们需要编写一个函数用来处理切换操作。函数定义如下:

toggleTab(tab, number) {  console.log(tab); // 输出切换的组件名称  console.log(number); // 输出切换的编号  this.changeActive = number;  this.cut = tab;}

这个函数通过接受两个参数(组件名称和切换编号)来实现逻辑判断和状态更新。changeActive字段会根据当前切换编号更新,cut字段则将设置为当前要展示的子组件名称,这样动态组件就可以正确展示对应的子组件内容。

转载地址:http://rywhz.baihongyu.com/

你可能感兴趣的文章
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>
org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned
查看>>
org.apache.ibatis.type.TypeException: Could not resolve type alias 'xxxx'异常
查看>>
org.apache.poi.hssf.util.Region
查看>>
org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
查看>>
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /
查看>>
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:processDebugManifest'
查看>>
org.hibernate.HibernateException: Unable to get the default Bean Validation factory
查看>>
org.hibernate.ObjectNotFoundException: No row with the given identifier exists:
查看>>
org.springframework.amqp.AmqpConnectException:java.net.ConnectException:Connection timed out:connect
查看>>
org.springframework.beans.factory.BeanDefinitionStoreException
查看>>
org.springframework.boot.context.properties.ConfigurationBeanFactoryMetadata
查看>>
org.springframework.boot:spring boot maven plugin丢失---SpringCloud Alibaba_若依微服务框架改造_--工作笔记012
查看>>
SQL-CLR 类型映射 (LINQ to SQL)
查看>>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
查看>>