vue自定义的组件中,能不能放置不同的元素内容呢?

问题描述

假如我创建了一个vue项目,并在其中创建了组件(页面)A,B,然后,我又创建了一个容器组件C,C只是一个容器,我分别在A和B中都引用了C,但我希望在AB中的C不是同一个组件,比如,我在A中,希望引用的C容器组件中有文字,有图片,随后在B中,我希望引用的C组件中有表单。或许未来还有D,E..页面,我希望共同通用的C组件,只承担容器功能,有固有的CSS样式。但里面放置的HTML元素是不同的,这样是否允许?

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)

<cont>
        <div>测试
        </div>
    </cont>

CONT是我写的自定义组件,这样写是不被允许的,请问有什么好的方法吗?当然我知道可以使用公共的类名+DIV的方式去达到容器的效果,但这并不是我想要的局面,请问各位大佬别的方法吗?

阅读 2.4k
2 个回答

楼主,你好!可以使用 vue 提供的 slot API。具体用法可以参考文档传送门,基于的需求,给个简单示例:

<template>
    <div>
       <slot></slot>
    </div
</template>  

<script>
  export default {
    name: 'Cont'
  }
</script> 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题