angular - 如何获取 Angular ng-bootstrap 断点

标签 angular typescript ng-bootstrap

我在我的项目中使用 ng-bootstrap,这意味着我可以使用以下命令创建网格/断点:

<div class="row">
    <div class="col-sm-12 col-md-6 col-xl-4"></div>
</div>

无论这些有多好, Bootstrap 都不会为 typescript 添加任何功能,这意味着我无法将这些断点用于动画。

在不降低性能的情况下访问这些断点的最佳方法是什么?

最佳答案

如果这对任何人有帮助,我发现可以导入这些:

import {MediaMatcher} from '@angular/cdk/layout';
import {ChangeDetectorRef, Component} from '@angular/core';

然后在组件中执行以下操作:

mobileQuery: MediaQueryList;

private _mobileQueryListener: () => void;

constructor(private changeDetectorRef: ChangeDetectorRef, private media: MediaMatcher) {
    this.mobileQuery = media.matchMedia('(max-width: 600px)');
    this._mobileQueryListener = () => changeDetectorRef.detectChanges();
    this.mobileQuery.addListener(this._mobileQueryListener);
 }

ngOnDestroy(): void {
    this.mobileQuery.removeListener(this._mobileQueryListener);
}

然后,您可以使用 mobileQuery.matches 等属性来检测屏幕的尺寸。

*所有这些都是从 Angular Material 的示例中复制的,发现 here

关于angular - 如何获取 Angular ng-bootstrap 断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49704041/

相关文章:

angular - 如何在几秒钟后更改 div 的背景颜色?

angular - Ng Bootstrap 根据所选计数对星级颜色进行评级

javascript - 从 ng-bootstrap 表中删除行

angular - 如何绑定(bind)到 Angular2 中 li 标签的 keydown 事件?

angular2 Material 和日期 - 如何获取当前选择的日期

node.js - 如何将 'process.on' 更改为基于 RxJS 风格的事件?

angular - ngbBootstrap DatePicker 配置集 firstDayOfWeek

typescript - 如何使用angular2中的链接参数数组从子组件导航到上层路由?

javascript - Angular 2 - 服务与 BehaviorSubject 创建一个循环

node.js - 即使在带有 PG 的 MacOS 上等待,typeorm createConnection 也返回 Pending