jul*_* oh 0 ng-class angular2-template angular
我的 Angular 应用程序中有这个浮动按钮,
<button [ngClass]="{
'mdc-fab--extended': extendedClass,
'mdc-fab--mini': miniClass
}" class="mdc-fab mdc-fab--touch ">
<div class="mdc-fab__ripple"></div>
<span class="material-icons mdc-fab__icon">mail</span>
<!-- <span class="floating-span">My Invite Link</span> -->
<div class="mdc-fab__touch"></div>
Run Code Online (Sandbox Code Playgroud)
当屏幕尺寸为 768px 或更低时,我需要将 mdc-fab--extended className 更改为 mdc-fab--mini 吗?我可以做什么来实现这个功能?谢谢
我已经尝试过,但课程没有被删除/添加
if (window.innerWidth < 768) {
this.miniClass = true;
this.extendedClass = false;
} else {
this.miniClass = false;
this.extendedClass = true;
}
Run Code Online (Sandbox Code Playgroud)
您可以添加hostlistener
到您的组件中。
public size700_1020 = false;
public size400_700 = false;
@HostListener('window:resize', ['$event'])
onResize(event) {
alert(window.screen.availWidth);
alert(window.screen.availHeight);
if(window.innerWidth < 700 && window.innerHeight < 1020) {
// now based on the screen size you want to check
// enable the variable and make it true
// based on it, you can enable the class in template
}
}
Run Code Online (Sandbox Code Playgroud)
在模板中:
<div class="size700_1020 ? 'addThisClass' : 'elseThis'"></div>
Run Code Online (Sandbox Code Playgroud)
您对对象的要求有多种属性window
。我附加了一些链接,可能会为您提供更多方法here1和here2。
你也可以这样做。
import { Platform } from 'ionic-angular';
...
private width:number;
private height:number;
constructor(private platform: Platform){
platform.ready().then(() => {
this.width = platform.width();
this.height = platform.height();
});
}
Run Code Online (Sandbox Code Playgroud)
根据问题中所做的更改:
<button [ngClass]="miniClass ? 'addMiniClass':'extendedClass'" class="mdc-fab mdc-fab--touch ">
<div class="mdc-fab__ripple"></div>
<span class="material-icons mdc-fab__icon">mail</span>
<!-- <span class="floating-span">My Invite Link</span> -->
<div class="mdc-fab__touch"></div>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6442 次 |
最近记录: |