Right now I have a background image URL hard-coded into CSS. I'd like to dynamically choose a background image using logic in AngularJS. Here is what I currently have:
HTML
<div class="offer-detail-image-div"><div>
CSS
.offer-detail-image-div {
position: relative;
display: block;
overflow: hidden;
max-width: 800px;
min-height: 450px;
min-width: 700px;
margin-right: auto;
margin-left: auto;
padding-right: 25px;
padding-left: 25px;
-webkit-box-flex: 1;
-webkit-flex: 1;
-ms-flex: 1;
flex: 1;
border-radius: 5px;
background-image: url('/assets/images/118k2d049mjbql83.jpg');
background-position: 0px 0px;
background-size: cover;
background-repeat: no-repeat;
}
As you can see, the background image in the CSS references a specific file location. I want to be able to programmatically determine the location of the image URL. I really don't know where to begin. I do not know JQuery. Thank you.
You can use
ng-class
: documation. If you want to do it in yourdirective
checkdirective
-attr
: attr.enter the size in textbox you can see box changes height and width
You can use ng-style to dynamically change a CSS class property using AngularJS.
Hope this ng-style example will help you to understand the concept at least.
More information for ngStyle
Edit-1
You can change the background-image: URL by following way.
You can use
[ngStyle]
directly. It's a map, so you can directly address one of its elements like so:[ngStyle.CSS_PROPERTY_NAME]
For example:
Also, for serving assets, Angular has the
bypassSecurityTrustStyle
utility function that can come in handy when serving up assets dynamically.