Когда я начал использовать Angular 2, у меня возникла идея, что основная причина создания компонентов заключается в том, что вы можете их повторно использовать. EG:Повторное использование компонентов в угловом 2
<custom-button id="button1">button 1</custom-button>
<custom-button id="button2">button 2</custom-button>
Является ли, что это большая причина, чтобы идти с угловой 2 и компонентов в веб-приложение, и это может быть сделано?
Я не нашел ресурс, который конкретно отвечает на мой вопрос о том, как это сделать.
Я хотел бы создать кнопку и вход, 2 наиболее простых и часто используемых элемента html, и сделать их многоразовыми.
Я попытался создать компонент кнопки и повторно использовать его.
Я пытался использовать его в шаблоне HTML, как это:
<custom-button>some text</custom-button>
<custom-button>different text</custom-button>
Однако текст не отображаться на кнопке. Это можно сделать?
Другая вещь, о которой мне интересно, это уникальный html id при этом. Могу ли я добавить уникальный атрибут html id для каждого экземпляра?
Может быть, как:
<custom-button id="display-bikes">bikes</custom-button>
<custom-button id="display-helmets">helmets</custom-button>
И тогда я могу сделать некоторые конкретные CSS, используя уникальный идентификатор элемента?
Это все, что я хочу знать и как это сделать.
Однако вот остальная часть моего кода участвуют:
компонент:
import { Component } from '@angular/core';
@Component({
selector: 'custom-button',
templateUrl: 'app/shared/button.component.html',
styleUrls: ['app/shared/button.component.css']
})
export class ButtonComponent { }
CSS:
button {
font: 200 14px 'Helvetica Neue' , Helvetica , Arial , sans-serif;
border-radius: 6px;
height: 60px;
width: 280px;
text-decoration: none;
background-color: $accent;
padding: 12px;
color: #FFF;
cursor: pointer;
}
button:focus {
outline:0 !important;
}
HTML:
<button md-raised-button type="button" class="btn text-uppercase flex-sm-middle">
try now <!-----lets get rid of this and let the client decide what text to display somehow???
</button>
Спасибо.Эта инкапсуляция означает, что если вы делаете '
abc
' где-то внутри шаблона компонента html, то область действия этого идентификатора относится только к компоненту, поэтому вы можете дать элементам в разных компонентах один и тот же идентификатор ? – BeniaminoBagginsПредположим, что вы находитесь в стандартном/эмулированном случае, а стиль вашего компонента инкапсулирован с помощью атрибута: [_ngcontent-1] Теперь любое из ваших правил CSS компонента будет предоставлено автоматически с помощью [_ngcontent-1] вверху корень селектора. Самый простой способ понять - проверить стили компонента Angular 2 во время выполнения с помощью инструментов разработчика. Я думаю, что вы действительно должны хранить свои идентификаторы в приложении, вам не нужны они внутри компонента. – KnightB4