Angular Bootstrap与角材料冲突

Angular Bootstrap与角材料冲突,angular,twitter-bootstrap,bootstrap-4,angular-material,Angular,Twitter Bootstrap,Bootstrap 4,Angular Material,我几乎完成了一个角度项目,我需要一个确认对话,所以我使用了角度材料。 现在的问题是,它把我的引导风格在整个项目中搞砸了,我只需要来自角度材料的确认对话,而且我在没有引导的情况下重构我的整个项目风格是不现实的。对于这种情况,我该怎么办 @Component({ selector: 'your-component', encapsulation: ViewEncapsulation.Emulated styleUrls: ['./your.component.scss'] }) 在.c

我几乎完成了一个角度项目,我需要一个确认对话,所以我使用了角度材料。 现在的问题是,它把我的引导风格在整个项目中搞砸了,我只需要来自角度材料的确认对话,而且我在没有引导的情况下重构我的整个项目风格是不现实的。对于这种情况,我该怎么办

@Component({
  selector: 'your-component',
  encapsulation: ViewEncapsulation.Emulated
  styleUrls: ['./your.component.scss']
})
在.component.scss的
内部,第一行:

@import '~path/to/angular-material.css';
现在,
angular material.css
的作用域将局限于您的组件,并且不会应用于项目中的任何其他组件,甚至不会应用于当前组件的子组件

注意
封装:视图封装。仿真的
是默认值,因此您实际上不需要它,但将其设置为任何其他值将阻止作用域的工作

阅读更多关于封装的信息

在.component.scss的
内部,第一行:

@import '~path/to/angular-material.css';
现在,
angular material.css
的作用域将局限于您的组件,并且不会应用于项目中的任何其他组件,甚至不会应用于当前组件的子组件

注意
封装:视图封装。仿真的
是默认值,因此您实际上不需要它,但将其设置为任何其他值将阻止作用域的工作



阅读更多关于封装的信息。

Bootstrap有一个模式窗口,您可以使用它来达到相同的效果,这意味着您可以完全消除材料。是否有什么原因需要物料对话框?是否导入整个物料模块?我只需要一个确认对话框来确认删除记录和重置余额。我发现它很好,因为我可以订阅它的输出,无论是点击YES按钮还是NO按钮。这就是Michal Lis,我只在app.module中导入了MatDialogModule、MatButtonModule、BrowserAnimationsModule,并且在styles.cssBootstrap中导入了css样式文件。cssBootstrap有一个模式窗口,您可以使用它达到相同的效果,这意味着您可以完全删除材质。是否有什么原因需要物料对话框?是否导入整个物料模块?我只需要一个确认对话框来确认删除记录和重置余额。我发现它很好,因为我可以订阅它的输出,无论是点击YES按钮还是NO按钮。这就是Michal Lis我只在app.module中导入了MatDialogModule、MatButtonModule、BrowserAnimationsModule,我在styles.cssNow中导入了css样式文件bootstrap样式是可以的,但是确认对话框的样式是messed你想让我知道“messed”对你意味着什么吗?如果您有子组件并且希望应用
angular material.css
,则可以将导入包装到
::ng deep{@import here…}
。但我不确定这是否是有效的语法。我的意思是,我知道它不在CSS中,但解析器可能会理解它并正确地解析它。@Omar,创建一个bootply或codesandbox,我来看看。不看看你有什么就帮不上忙了。为了测试,将其最小化:一个引导式组件,以确保它不会受到影响和对话。不,我没有任何子组件,它只是对话组件。我的意思是,当我使用这种方法时,对话样式是不合适的,它被移到了左下角,我不明白why@Omar,您是将封装应用于模态打开的组件还是从中打开模态的组件?您应该将其应用于模态显示的对象。不太确定,但您可能必须将这两种样式都封装起来。再一次,没有看到一个例子,我真的帮不上什么忙。现在引导样式是可以的,但是确认对话的样式是messed。你想让我知道“messed”对你意味着什么吗?如果您有子组件并且希望应用
angular material.css
,则可以将导入包装到
::ng deep{@import here…}
。但我不确定这是否是有效的语法。我的意思是,我知道它不在CSS中,但解析器可能会理解它并正确地解析它。@Omar,创建一个bootply或codesandbox,我来看看。不看看你有什么就帮不上忙了。为了测试,将其最小化:一个引导式组件,以确保它不会受到影响和对话。不,我没有任何子组件,它只是对话组件。我的意思是,当我使用这种方法时,对话样式是不合适的,它被移到了左下角,我不明白why@Omar,您是将封装应用于模态打开的组件还是从中打开模态的组件?您应该将其应用于模态显示的对象。不太确定,但您可能必须将这两种样式都封装起来。再说一次,没有看到一个例子,我真的帮不上什么忙。