@vasIvas

Почему поведение angularjs тега отличается от обычного тега?

Если создать -
<div class="main-container">
	<div class="some-form">
		<div></div>
	</div>
</div>


и применить стиль -
*
    margin: 0
    padding: 0

html, body
	height: 100%
    background: #202020


.main-container
	width: 100%
	height: 100%
	min-height: 100%


.registration-form
    width: 100%
    height: 100%

    background: #202020

То и у .main-container и у .some-form размеры одинаковые и отличные от нуля (ожидаемые). Но если сделать так -
<div class="main-container">
	<some-form>
	</some-form>
</div>

*
    margin: 0
    padding: 0

html, body
	height: 100%
    background: #202020


.main-container
	width: 100%
	height: 100%
	min-height: 100%


registration-form
    width: 100%
    height: 100%

    background: #202020


То у тега registration-form размер нулевой... Вот дериктива -
import * as angular from 'angular';

export default function registrationFormDirective(): any {
    return {
        strict: 'AE',
        template: '<div></div>',
        link: ($scope, element, attributes)=>{
        	
        }
    };
}
  • Вопрос задан
  • 180 просмотров
Решения вопроса 2
qmax
@qmax
программер
у вас в html получается матрёшка из элементов:
<div class="main-container">
  <some-form>
   <div></div>
  </some-form>
</div>


И рендеринг элемента `some-form` и его рамеров передаётся на совесть браузера.

Вам надо либо указать параметр директивы replace: true, чтобы полностью заменять элемент на шаблон.
Либо использовать атрибутную директиву.

Ну а ещё у вас тупо не к чему применять css registration-form - такого элемента в html не образуется.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
по умолчанию все кастомные элементы являются инлайн элементами, если что.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы