css - 有没有办法在不实时重新加载的情况下更改背景图像?

标签 css angular

我实际上正在尝试为英雄联盟锦标赛制作 Angular 选禁叠加层,但我面临一些基本问题,我不确定是否可以完成。我的问题是:我可以在不重新加载组件的情况下动态更改 div 背景吗?

在 pick-ban-component.html 中:

<div class="blueTeam">
   <app-player-card *ngFor="let player of blueTeam" [bluePlayer]="player"></app-player-card>
</div>

在 pick-ban-component.ts 中:

public blueTeam = [{
        name: 'playerOne',
        champion: 'Teemo',
        spells: ['Flash', 'Burn']
    },...
];

在 player-card.html 中:

<div [ngClass]="bluePlayer ? 'bluePlayerCard bluePlayer.champion' : redPlayer ? 'redPlayerCard redPlayer.champion' : 'noSelection'"></div>

在 player-card.css 中:

.Teemo {
    background-image: url('../../assets/champions/Teemo_0.jpg') !important;
    background-size: cover;
    background-position: top center;
}...

我的 player-card.css 中每个冠军的注册方式都与提莫相同。所以我想知道如果我将 playerOne 的冠军更改为另一个冠军,但仍然提供背景更改,是否有办法避免组件重新加载?

最佳答案

在您的情况下,最简单的解决方案是更改此行:

<div [ngClass]="bluePlayer ? 'bluePlayerCard bluePlayer.champion' : redPlayer ? 'redPlayerCard redPlayer.champion' : 'noSelection'"></div>

为此:

<div [ngClass]="bluePlayer ? 'bluePlayerCard ' + bluePlayer.champion : redPlayer ? 'redPlayerCard ' + redPlayer.champion : 'noSelection'"></div>

关于css - 有没有办法在不实时重新加载的情况下更改背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57474201/

相关文章:

routes - Angular2 在可注入(inject)服务中使用路由器

html - Gulp Minify-CSS 删除 CSS

html - 如何仅设置背景不透明度

javascript - 确认框定制?

javascript - 如何使用 mat-select 与 react 形式 formarray Angular

angular - 如何在 HTML 模板中使用作为@Input 传递的管道

css - 将 background-position 与 background-repeat 一起用于 CSS Sprite

HTML Bootstrap 列未正确对齐

angular - 如何使用 ngx-translate 翻译 typescript 文件中的组件或服务字符串

javascript - 为什么我的 Angular 8 应用程序没有使用 Electron Packager 正确打包我的应用程序?