没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:龚雪|2021-03-08 09:46:21.613|阅读 149 次
概述:在本文中,我们将探讨Vue的
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
当您发现希望模板的特定部分可以是动态的,并根据在其他地方计算出的某些条件在一个或多个组件之间切换时,Vue开发可以帮助您实现!
以一个仅在用户注册和登录时才呈现某些特定内容的网站为例,但是如果该特定用户具有付费订阅,则该网站也将显示第三个版本。
解决问题的一种方法是像这样链接v-if:
<template> <div> <Guest v-if="!user" /> <User v-if="user && !user.subscription" /> <Member v-if="user && user.subscription" /> </div> </template>
这当然可以工作,但是即使具有良好的成分组成,它也可能很快开始成为问题。 如果逻辑变得更加复杂,或者随着时间的推移必须添加其他组件,则模板将变得拥挤且难以维护。
另一个常见的情况是使用一个API端点来告诉您它希望前端在屏幕上呈现什么样的组件(一种模式或清单),这种特殊情况可能会导致一些功能非常强大的应用程序,但是我们必须深入研究如何创建动态组件。
Vue为我们提供了一个特殊的组件和一个用于处理此类问题的指令,即<component>组件。 此特殊组件的操作就像模板中的占位符,它将呈现其中的任何类型的元素 - 从诸如Guest之类的自定义组件到诸如<li>之类的基本HTML元素。
为了使我们能够使用<component>,我们必须将名为is的属性传递给它。 该指令需要一个值,该值可以是String或Object,已注册的组件或组件配置对象,让我们先来看看如何使用字符串。
让我们通过使用<component>重新思考前面的示例,模板将简化很多,如下所示:
<template> <component :is="userComponent" /> </template>
此时,您可以开始看到<component>的功能:模板更加简洁,很快我们将添加一个计算属性来封装逻辑。
将创建一个计算属性userComponent,它将使<component>知道应呈现哪个组件。 为此,我们将逻辑移至此计算属性,并返回一个字符串,其中包含应呈现的组件的名称。
重要说明:请注意,在使用字符串方法时,需要将组件作为全局组件注册到应用程序中,或者导入到您的组件中,并在呈现它们的组件选项下注册。
您将在下面看到的另一种方法是在计算属性中返回导入的组件本身。
如果您忘记这样做,Vue将发出警告:“Unknown component : did you register the component correctly?”
现在,添加计算出的属性和必要的导入。
<script> import Guest from './components/Guest'; import User from './components/User'; import Member from './components/Member'; export default { data() { return { user: null } }, computed: { userComponent() { if (!this.user) return Guest; if (!this.user.subscription) return User; return Member; } } }; </script>
在顶部像往常一样导入所有三个组件, 请注意出于演示目的,我们还为用户对象创建了一个本地data() 状态。
在userComponent计算的prop内部,正在传递模板中先前的逻辑。您已经了解到,这两种方法更具可读性,最重要的是更加灵活。 您可以使用Axios或Vuex,甚至可以从此处的应用程序中的文件加载动态模式,以定义应呈现的组件。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@dpuzeg.cn
文章转载自:慧都网本教程演示DevExpress WinForms的Banded Grid View 是如何进行用户自定义的,欢迎下载最新版组件体验!
可视化项目时间线对于有效规划和跟踪至关重要。在本篇教程中,您将学习如何使用 C# 在 Excel 中创建组合图,只需几行代码,即可自动生成动态、美观的组合图。
本文将为大家介绍DevExpress XAF将.NET Aspire集成到Blazor项目中后如何实现数据库依赖,欢迎下载最新版组件体验!
FP3 文件是使用流行的报表生成工具FastReport创建的报表。这种格式广泛用于存储可立即查看的报表数据,这些数据可以轻松共享或保存以供日后分析。但是,要打开和查看此类文件,需要一个特殊的程序——FastReport Viewer。
全新升级的Kendo UI,是创建数据丰富的Web应用程序的最完整UI库。
Kendo UI for jQuery完整的jQuery UI组件库,可快速构建出色的高性能响应式Web应用程序。
Kendo UI for Angular完整的Angular UI组件库,助力构建高性能的现代Angular应用。
Kendo UI Support for React支持React Javascript框架,更快地构建更好的应用程序。
Kendo UI for Vue创建响应式Web应用的完整UI组件库。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@dpuzeg.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢