允许在角度组件之间共享 relative 和 flex

Posted

技术标签:

【中文标题】允许在角度组件之间共享 relative 和 flex【英文标题】:Enabling relative and flex to be shared across angular components 【发布时间】:2019-04-12 08:58:30 【问题描述】:

所以我有一个这样的组件;

html

<div class="flex-container"> 
<external-component></external-component>
</div>

CSS

.flex-container
height: 100vh;
width: 100vw;
display: flex;
position: relative;

外部组件的 CSS

.external
flex: 1 1 50%;
height: 20vh;
background-color:black;

这不起作用,但它不会显示任何内容,我假设由于某种原因外部组件似乎没有从父元素继承。

任何解决此问题的方法都很棒。

【问题讨论】:

你能描述一下你的文件结构吗?想看看你是如何组织和导入组件的。 原因是flex 仅适用于立即 孩子,因此external-component 中的任何内容都不再是直接孩子。您需要支持哪些浏览器? 理想情况下,所有浏览器都会很棒,并且文件结构是您的标准 Angular 6/7 结构我使用 ng gc 生成所有内容 ...。如果这个特定组件位于 app.component.html 中这有帮助吗? - 编辑所有现代版本的浏览器。 不妨看看***.com/questions/49083777/… 对于external-component css,您可能需要 css 选择器为 :host 而不是 .external 【参考方案1】:

要么将app.component.html 中的css 类external 添加到&lt;external-component/&gt;,并将外部样式移动到app.component.css,或者将类.external 重命名为:host。或者将所有这些样式移到styles.css(不限于任何特定组件)。

所以,解决方案 1:

<div class="flex-container"> 
  <external-component class="external"></external-component>
</div>

那个,样式都在app.component.css中。

解决方案 2,external.component.css

.external
  flex: 1 1 50%;
  height: 20vh;
  background-color:black;

【讨论】:

以上是关于允许在角度组件之间共享 relative 和 flex的主要内容,如果未能解决你的问题,请参考以下文章

如何在彼此不直接链接的角度组件之间共享数据?

react js中不相关的组件之间如何共享数据?

在 nextjs 区域之间共享组件的推荐方式?

在没有关系的 React 组件之间共享数据?

是否可以跨多个项目共享角度组件?

如何在firebase云函数和角度之间共享打字稿类