gpt4 book ai didi

Angular 相同的元素在不同的屏幕尺寸上具有不同的绑定(bind)

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

我正在使用 ng-bootstrap 中的工具提示.所以基本上在不同的屏幕尺寸上,我需要工具提示显示在不同的位置:

    <span class="my-tooltip-lg" [placement]="'bottom'" #myTooltip="ngbTooltip"></span>
<span class="my-tooltip-sm" [placement]="'left'" #myTooltip="ngbTooltip"></span>

    @media (max-width: 575px) {
.my-tooltip-lg {
display: none;
}

.my-tooltip-sm {
display: block;
}
}

@media (min-width: 576px) {
.my-tooltip-lg {
display: block;
}

.my-tooltip-sm {
display: none;
}
}

所以我想要实现的是,在不同的屏幕尺寸上,只有一个可见 span准备好工具提示。但问题是我收到以下错误:
Template parse errors: Reference "#myTooltip" is defined several times

所以我想知道我还能做什么?

最佳答案

您需要媒体观察员,请使用 @angular/flex-layout ,这将在屏幕尺寸发生变化时为您提供事件。

DEMO (要查看更改,请单击在新窗口中打开并通过调整窗口大小进行检查)

<div style="padding-left: 200px">
<button type="button" class="btn btn-outline-secondary" [ngbTooltip]="tipContent" [placement]="tooltipPosition">
Some Button
</button>
</div>

import { Component } from "@angular/core";
import { MediaObserver } from "@angular/flex-layout";

@Component({
selector: "ngbd-tooltip-basic",
templateUrl: "./tooltip-basic.html"
})
export class NgbdTooltipBasic {
tooltipPosition = "top";

constructor(private readonly mediaObserver: MediaObserver) {}

ngOnInit() {
this.mediaObserver.media$.subscribe(x => {

if (x.mqAlias === 'sm') {
this.tooltipPosition = 'left';
}
else {
this.tooltipPosition = 'bottom';
}
});
}
}

关于 Angular 相同的元素在不同的屏幕尺寸上具有不同的绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59433633/

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