vuejs2 - 如何在 vue.js 中渲染父组件中的子组件,并且只渲染子组件中发生的更改?
问题描述
到目前为止我所做的是创建了两个存在于src/components
文件夹中的组件,我想添加这些组件包含在src/views
文件夹中的父组件中。
我有一个名为 form.vue 的组件和另一个组件background.vue
我想要的是,在(用于背景目的)form.vue
之上显示(包含表单)。backgound.vue
所以每次,孩子发生任何变化,都会迫使整个父页面重新渲染。那么有什么办法可以解决这个问题吗?
下面是文件夹结构:
解决方案
您可以为此使用插槽,因此在您的 background.vue 中,您将拥有:
<template>
...
<slot><slot> <!-- place where the external component will be rendered -->
...
</template>
然后在主要组件中,您将拥有:
<background>
<my-form></my-form>
</background>
推荐阅读
- javascript - 未捕获(承诺中):TypeError:无法读取 prod build angular7 中未定义的属性“dxswipestart”
- android - ChangeCursor 和 getItemViewType java.lang.ArrayIndexOutOfBoundsException
- r - bsModal 适用于 fluidPage 但不能没有它
- html - Nu Html 检查器错误“扩展为回车的数字字符引用。” 使用“”时
- graphql - 在 AWS 上使用 Cloudfoundry 部署的 Hasura GraphQL 引擎上的订阅错误
- java - F 有界多态 Java 中的返回类型
- sql - PostgreSQL 如何查询字符串数组
- asp.net-core-mvc - 从下拉列表中获取选定项目并将其传递给 onClick 事件
- javascript - React 使用仪表板构建 CMS 如何显示隐藏仪表板组件
- swift - 即使在设备旋转之后也约束/居中 CAEmitterLayer