属性 绑定到样式
property binding to style
我有一个用于显示图像的循环。该图像是其容器的背景图像。
for 循环的每次迭代都会更改图像。
代码:
<div class="row">
<h4 id="rooms"><strong>Rooms</strong></h4>
<button id="roomlinkbutton" class="linkbutton">+Room</button>
</div>
<div class="row" id="roomsrow"> <!--room row-->
<div *ngFor="let room of venueprofileobject.rooms; let i=index" class="col-md-4"> <!--room item-->
<div class="imagecontainer img-responsive imagefullheight"
[style]=" background-image: url(room.image[0]);">
</div>
<h5 class="roomnameprivacy"><strong>{{room.name}} | {{room.privacy}}</strong></h5>
<button (click)="deleteroom(i)" class="deleteroom btn-danger">Delete</button>
</div> <!--room item-->
保存图像的代码:
rooms:[
{
pk: 1,
name: 'no',
description: 'no',
privacy: 'yeah',
image: ['nifty porno image'],
seatedcapacity: 2,
standingcapacity: 2,
amenities:['k'],
setuptypes:['k'],
filtercompliantroom: false
},
]
但我不确定如何将背景图像 url 值与图像位置绑定。
我试过了
style=" background-image: url({{room.image[0]}});">
失败了
[style]=" background-image: url(room.image[0]);">
也失败了
[style.background-image]="url(room.image[0])"
也失败了
[ngStyle]="{'background-image': 'url('room.image[0]')'}"
失败
建议?
目前正在查看此页面以查看是否可以找到答案:https://www.concretepage.com/angular-2/angular-2-ngstyle-and-style-binding-example
这很可能是由于 Angular 防止跨站点脚本的内置功能。看到这个 link:https://angular.io/guide/security#xss
更新
我能够使用如下语法使其工作:
<div class="row" [ngStyle]="{'background-image': 'url(' + imageUrl + ')'}">
这使用 ngStyle
属性,即 "safe" 而不是 style
属性。
这就是您需要的样子:
<div class="row" [ngStyle]="{'background-image': 'url(' + room.image[0] + ')'}">
冒号 (:) 右侧的语法基本上是构建一个字符串,因此您需要添加“+”来连接样式文本(例如 'url')和来自组件 属性.
我有一个用于显示图像的循环。该图像是其容器的背景图像。
for 循环的每次迭代都会更改图像。
代码:
<div class="row">
<h4 id="rooms"><strong>Rooms</strong></h4>
<button id="roomlinkbutton" class="linkbutton">+Room</button>
</div>
<div class="row" id="roomsrow"> <!--room row-->
<div *ngFor="let room of venueprofileobject.rooms; let i=index" class="col-md-4"> <!--room item-->
<div class="imagecontainer img-responsive imagefullheight"
[style]=" background-image: url(room.image[0]);">
</div>
<h5 class="roomnameprivacy"><strong>{{room.name}} | {{room.privacy}}</strong></h5>
<button (click)="deleteroom(i)" class="deleteroom btn-danger">Delete</button>
</div> <!--room item-->
保存图像的代码:
rooms:[
{
pk: 1,
name: 'no',
description: 'no',
privacy: 'yeah',
image: ['nifty porno image'],
seatedcapacity: 2,
standingcapacity: 2,
amenities:['k'],
setuptypes:['k'],
filtercompliantroom: false
},
]
但我不确定如何将背景图像 url 值与图像位置绑定。
我试过了
style=" background-image: url({{room.image[0]}});">
失败了
[style]=" background-image: url(room.image[0]);">
也失败了
[style.background-image]="url(room.image[0])"
也失败了
[ngStyle]="{'background-image': 'url('room.image[0]')'}"
失败
建议?
目前正在查看此页面以查看是否可以找到答案:https://www.concretepage.com/angular-2/angular-2-ngstyle-and-style-binding-example
这很可能是由于 Angular 防止跨站点脚本的内置功能。看到这个 link:https://angular.io/guide/security#xss
更新
我能够使用如下语法使其工作:
<div class="row" [ngStyle]="{'background-image': 'url(' + imageUrl + ')'}">
这使用 ngStyle
属性,即 "safe" 而不是 style
属性。
这就是您需要的样子:
<div class="row" [ngStyle]="{'background-image': 'url(' + room.image[0] + ')'}">
冒号 (:) 右侧的语法基本上是构建一个字符串,因此您需要添加“+”来连接样式文本(例如 'url')和来自组件 属性.