Установите атрибут HTML img для привязки Angular

Внутри класса HTML для моего компонента Angular у меня есть изображение, отображаемое с помощью:

<div class = "row" id = "work">
  <div class = "col-xl-3 col-lg-4 col-md-6 col-sm-12" id = "">
      <img class = "img-fluid" width = "100%" [height] = "height" src = "assets/images/logo.png" alt = "">
      <img class = "img-fluid" width = "100%" height = "100" src = "assets/images/logo.png" alt = "">
      <img class = "img-fluid" width = "100%" height = "100" src = "assets/images/logo.png" alt = "">
  </div>
</div>

В моем машинописном файле для компонента у меня есть переменная высоты, установленная на «100» при инициализации.

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  height = "500";

  constructor() { }

  ngOnInit() {
    this.height = "500";
  }
}

При загрузке страницы высота изображения равна высоте изображения по умолчанию, она не читает/не использует мою переменную высоты. Наверное, что-то глупое, но не знаю, что.

Обновлено:

«img-fluid» была проблемой. Он игнорирует атрибут высоты, устанавливает высоту автоматически, поэтому я не мог установить ее сам из Typescript.

просто используйте квадратные скобки [src] = "url" например [height] = "height"

Joel Joseph 27.05.2019 06:55
[height] = "height"
penleychan 27.05.2019 06:55

@penleychan не работает

Oblivion 27.05.2019 07:05

@Oblivion, тогда попробуй это [attr.height] = "height"

Joel Joseph 27.05.2019 07:08

@JoelJoseph не работает, может, проблема в моем машинописном тексте?

Oblivion 27.05.2019 07:25

@Oblivion, здесь работает stackblitz.com/edit/angular-y9f1ci в соответствии с вашим кодом, в чем тогда ваша проблема ??

Maniraj Murugan 27.05.2019 07:34

@ManirajfromKarur отредактировал мой вопрос.

Oblivion 27.05.2019 07:40

Вы должны проверить свой элемент и поиграть с css, я подозреваю, что есть конфликт с классом начальной загрузки, который вы используете.

penleychan 27.05.2019 07:40

@penleychan, ты был прав. Плавное изображение игнорировало атрибут высоты. Это авто, когда жидкость. Спасибо.

Oblivion 27.05.2019 07:45
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
9
1 499
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

попробуй так

<img class = "img-fluid" width = "100%" height = "{{height}}" src = "assets/images/logo.png" alt = "">

Привет, ни твой ответ, ни [высота] = "высота" не влияют.

Oblivion 27.05.2019 07:03

Ни не работает, ни ошибок нет, очистил кэш на всякий случай и никакого эффекта.

Oblivion 27.05.2019 07:25

Вы пробовали ответ @Sachin Gupta?

Yash Rami 27.05.2019 07:29

делал, никакого эффекта

Oblivion 27.05.2019 07:33

можешь попробовать вот так <img class = "img-fluid" width = "100%" [style] = "{height: height}" src = "assets/images/logo.png" alt = "">

Yash Rami 27.05.2019 07:50

@penleychan прав, просто заключите высоту в фигурные скобки и укажите переменную высоты как ее значение. Но чтобы уточнить, почему ваш не работает как есть, вам просто не хватает окружающих кавычек:

height = "{{height}}"

Если я не ошибаюсь, добавление кавычек заставит вас работать. Но метод @penleychan гораздо более распространен.

Есть ли у вас какие-то внешние стили, вступающие в игру? Вы можете попробовать сделать [ngStyle] = "{'height': height}"

Jesse 27.05.2019 07:12

Тоже никакого эффекта. Является ли мой машинописный текст проблемой? (в редакции)

Oblivion 27.05.2019 07:21

Просто используйте

[ngStyle]='{height:height}'

редактировать

Или используйте так: здесь «x» — это условие (если есть), а «200px» — высота по умолчанию. [ngStyle]='{height : x ? "200px" :height}'

Привет, никакого эффекта. Думаете, проблема в моем машинописном тексте?

Oblivion 27.05.2019 07:32

вам нужно установить высоту в «px», «vh» .. или что-то еще, что принимает css

Sachin Gupta 27.05.2019 07:34
Ответ принят как подходящий

Проблема заключалась в теге «img-fluid». Он игнорирует атрибут высоты, устанавливает высоту автоматически, поэтому я не мог установить ее самостоятельно с помощью Typescript.

Другие вопросы по теме