gpt4 book ai didi

angular - 在垂直和水平步进 Material 之间切换

转载 作者:行者123 更新时间:2023-12-03 12:52:07 25 4
gpt4 key购买 nike

如何切换 垫垂直步进 mat-h​​orizo​​ntal-stepper 来自具有相同步进步骤的 Angular 分量?

最佳答案

为避免重写相同的 html 内容,请这样做。创建模板并使用 #hashtag 为他们提供引用.然后你可以使用 ng-container *ngTemplateOutlet="hashtag"></ng-container> 插入它们.

这是制作响应式 stepepr( Angular Material 方式)的示例。

<ng-template #stepOne>
<div>step one</div>
</ng-template>

<ng-template #stepTwo>
<div>step two</div>
</ng-template>

<ng-template #stepThree>
<div>step three</div>
</ng-template>

<ng-template #stepFour>
<div>step four</div>
</ng-template>

<ng-template [ngIf]="smallScreen" [ngIfElse]="bigScreen">
<mat-vertical-stepper linear #stepper >
<mat-step>
<ng-container *ngTemplateOutlet="stepOne"></ng-container>
</mat-step>
<mat-step>
<ng-container *ngTemplateOutlet="stepTwo"></ng-container>
</mat-step>
<mat-step>
<ng-container *ngTemplateOutlet="stepThree"></ng-container>
</mat-step>
<mat-step>
<ng-container *ngTemplateOutlet="stepFour"></ng-container>
</mat-step>
</mat-vertical-stepper>
</ng-template>

<ng-template #bigScreen>
<mat-horizontal-stepper linear #stepper >
<mat-step>
<ng-container *ngTemplateOutlet="stepOne"></ng-container>
</mat-step>
<mat-step >
<ng-container *ngTemplateOutlet="stepTwo"></ng-container>
</mat-step>
<mat-step>
<ng-container *ngTemplateOutlet="stepThree"></ng-container>
</mat-step>
<mat-step>
<ng-container *ngTemplateOutlet="stepFour"></ng-container>
</mat-step>
</mat-horizontal-stepper>
</ng-template>

您可以像这样使用 angular cdk 布局来跟踪屏幕大小。
import { Component } from '@angular/core';
import {BreakpointObserver, Breakpoints} from '@angular/cdk/layout';

@Component({
selector: 'app-responsive-stepper',
templateUrl: './responsive-stepper.component.html',
styleUrls: ['./responsive-stepper.component.scss']
})
export class ResponsiveStepperComponent implements OnInit {

smallScreen: boolean;

constructor(
private breakpointObserver: BreakpointObserver
) {
breakpointObserver.observe([
Breakpoints.XSmall,
Breakpoints.Small
]).subscribe(result => {
this.smallScreen = result.matches;
});
}
}

关于angular - 在垂直和水平步进 Material 之间切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48032538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com