css - 如何在窗口按 Angular 缩放时更新样式

标签 css angular typescript

我的应用程序上有一个聊天窗口,当聊天窗口小于特定宽度时,我想更新此聊天窗口中图像的大小。有没有一种方法可以根据宽度更新 css 样式或类?

我正在使用 typescript 并传入我的猫窗口的值:

@Input()
public chatWidth: number;

在我的 html 中,我试图做这样的事情,如果 chatWidth 属性小于 400,我将应用一个 css 类:

<img *ngIf="upsell?.image?.url; let url" [src]="url" ng-class="{bigger-img : chatWidth < 400}">

但是,这不起作用,我的控制台似乎甚至没有收到错误

最佳答案

使用

<img *ngIf="upsell?.image?.url; let url" [src]="url" [ngClass]="{'bigger-img': chatWidth < 400}">

更多信息 herengClass 上。

更新

我相信,您可以将条件包装在一个“方法”中,该方法返回在您各自的组件中定义的 boolean 并在模板中调用它,而不是直接在模板中声明它。在这里,在你的情况下,

在 component.ts 中,

checkChatWidth(): boolean {
  return this.chatWidth < 400;
}

然后,在您的模板中,

<img *ngIf="upsell?.image?.url; let url" [src]="url" [ngClass]="{'bigger-img': checkChatWidth()}">

您必须注意您的“方法”中可能出现的“空”检查,这些检查可能是由于您的代码设置中的“chatWidth”输入属性没有值而引起的。

关于css - 如何在窗口按 Angular 缩放时更新样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48994829/

相关文章:

jquery - 我们如何在不设置宽度和高度的情况下为 ListView 设置滚动条?

javascript - Bootstrap 不工作 - 错误在哪里?

typescript - 如何以可用的方式重新导出其中包含接口(interface)的导入模块?

angular - 空注入(inject)器错误 : No provider for NgZone when referencing a custom npm package

typescript - 推断元组类型而不是联合类型

reactjs - 在 TextArea : Type 'string' is not assignable to type number 中 react typescript 错误

javascript - 在输入字段中单击时,菜单下拉列表中的表单不会保留 - Bootstrap 3

css - 固定位置随着设备宽度的变化而变化

不同 div 上的 Angular *ngFor

angular - 如何在 Angular 2 中使用 Bootstrap 3 Datepicker