vue.js - 如何扩展 Vue 模板组件并注入插槽?
问题描述
使用 Vue 3 我正在尝试制作一个简单的模板来扩展以前的组件,如下所示......
父.vue
<template>
<div>
<!— something will be done with colors here —>
<slot></slot>
</div>
</template>
<script>
import { colors } from "../util.js";
export default {
props: {
color: {
type: String,
default: "indigo",
validator: function (value) {
return colors.indexOf(value) !== -1;
},
},
},
};
</script>
孩子.vue
<template>
<Parent v-bind="this">
<h1>Some Text</h1>
</Parent>
</template>
<script>
import Parent from "./Parent.vue";
export default {
components: { Parent },
extends: { Parent },
props: {
id: {
type: String,
required: true,
},
},
};
</script>
关键是我应该能够将color
道具传递给 Child 并将其转发给它继承的 Parent 实例。然而,我得到...
[Vue 警告]:在渲染期间访问了属性“颜色”,但未在实例上定义。
在 Vue 中处理这种类型的继承的正确方法是什么?
我还想避免添加 indv 属性,例如...
<Parent :label="label" :color="color" :someThing="someThing"></Parent>
解决方案
推荐阅读
- c# - 接受 POSTED 文件
- neo4j - 我可以使用 apoc.periodic.updates 来返回查询输出吗?
- google-maps - 无法将图层从 Google Drive 导入到 Google Maps
- c# - 使用 Moq 模拟扩展 IList 的接口
- apache-spark - spark sql 插入 HIVE 外部分区表需要更多时间
- spring-kafka - 从消费者端,是否可以选择使用自定义配置创建主题?
- python - 从没有 OAuth 的公共 Google 日历中获取事件,仅使用 API 密钥?
- python - 用于连续串行数据流的带有烧瓶和 vue 的 Python 套接字
- r - 如何使用 as.formula 和 paste 来形成方程式
- python-3.x - 数据框数据类型冲突...转换