【发布时间】:2018-09-22 12:27:04
【问题描述】:
假设我使用的插件在运行时生成html,而我无法编辑CSS 或JS 代码,这让我只能选择覆盖特定类中的某些CSS。例如,在这种情况下,我经常会这样做:
.video-player{
max-height: 500px !important;
}
如果必须根据传递给组件的 props 有条件地处理此类样式,例如:
<videoPlayer :goSmall="anotherColumn != null"></videoPlayer>
因为videoPlayer组件中的CSS必须放在Style标签中:
<style scoped>
.video-player{
max-height: 500px !important;
}
</style>
如何有条件地渲染它?
使用生命周期钩子将其附加到 DOM 是个坏主意,所以请不要提出类似的建议。
【问题讨论】:
-
使用生命周期钩子动态应用 CSS 有什么问题?,我假设您需要将 videoPlayer 组件视为黑盒
-
@AbhishekGupta:问题在于,它的影响覆盖了整个 dom,我也必须负责删除。一种方法是传统上使用 JQuery 将样式添加到特定 div,但我想了解 Vue 解决方案。
标签: vue.js vuejs2 vue-component