当前位置: 首页 > Web前端 > HTML

何时何地使用Vue的scopedslots

时间:2023-04-02 18:08:36 HTML

作者:AshishLahoti译者:前端小智来源:codingnconcept喜欢再看,微信搜索【大运世界】,bilibili关注【前端小智】这不大厂出身,但态度积极。本文已收录到GitHubhttps://github.com/qq44924588...,文章已分类,也整理了很多我的文档和教程资料。**Vue插槽是将内容从父组件注入子组件的绝佳方式。这是一个基本示例,如果我们不为父级的任何插槽提供内容,则父级中的内容将用作后备。//ChildComponent.vue然后在我们的父组件中//ParentComponent.vue编译后,我们的DOM将如下所示。

覆盖后备内容
我们还可以将来自父作用域的任何数据包装在插槽内容中。因此,如果我们的组件有一个名为name的数据字段,我们可以像这样轻松添加它。为什么我们需要作用域插槽。让我们看另一个例子。假设我们有一个ArticleHeader组件,data包含一些文章信息。//ArticleHeader.vue让我们仔细看看插槽内容,回退内容呈现info.title。在不改变默认回退内容的情况下,我们可以很容易地像这样实现这个组件。//ParentComponent.vue在浏览器中,会显示标题。虽然我们可以通过向插槽添加模板表达式来快速更改插槽的内容,但是如果我们想从子组件渲染info.description会怎样?我们设想按照下面的方式来做://不行!但是,这样运行后会报错:TypeError:Cannotreadproperty'description'ofundefined。这是因为我们的父组件不知道这个信息对象是什么。那么我们该如何解决呢?作用域插槽简介简而言之,作用域插槽允许父组件中的插槽内容访问仅在子组件中找到的数据。例如,我们可以使用作用域插槽来授予父组件访问信息的权限。我们需要两个步骤来做到这一点:使用v-bind使槽内容可用info在父作用域中使用v-slot访问槽属性首先,为了使信息对父作用域可用,我们可以绑定信息对象Set作为槽的一个属性。这些有界属性称为slotprops。//ArticleHeader.vue然后,在我们的父组件中,我们可以使用现在,我们所有的插槽道具,(在我们的示例中,只是信息)将作为文章对象的属性提供,我们可以轻松更改我们的插槽以显示描述内容。//ParentComponent.vue
最终效果如下:总结尽管Vue作用域插槽是一个非常简单的概念-让插槽内容访问子组件数据对于设计出色的组件很有用。通过将数据保存在一个地方并将其绑定到其他地方,管理不同的状态变得更加清晰。~终于要洗碗了,我要洗碗了。古德白代码部署后可能存在的bug,无法实时获知。之后为了解决这些bug,我花了很多时间在日志调试上。推荐一款好用的BUG监控工具Fundebug。原文:https://learnvue.co/2021/03/w...每周更新交流文章。可以微信搜索“大千世界”立即阅读更新(比博文早一两篇),本文已收录到GitHubhttps://github.com/qq449245884/xiaozhi,本人整理我的很多文件。欢迎加星和改进。可以参考考点面试。也关注公众号,后台回复福利就能看到福利,你懂的。