2016-09-27 3 views
1

У меня есть <myComponent ></myComponent>, и я хочу дать класс myComponent?Добавить класс в пользовательский компонентный угол 2

This doesnt worked `<myComponent class="my-class"></myComponent>` 

Как я могу это сделать?

+0

что вопрос вы получаете? вы пытаетесь применить стиль из класса в содержимом компонента? –

+0

Да @MadhuRanjan, я хочу, например, указать цвет границы, ширину и т. Д., Как один элемент управления – emanuel07

ответ

2
class MyComponent { 
    @HostBinding('class.my-class') 
    isMyClass:boolean = true; 
} 
+0

Спасибо, а где использовать свойство ** isMyClass **? – emanuel07

+0

Извините, я не уверен, что понимаю вопрос. 'isMyClass' - это просто имя, которое я выбрал. Имя не имеет значения. '' class.my-class'' определяет, какой класс следует добавлять или удалять. Значение свойства, в котором используется префикс '@HostBinding()', используется для определения того, должен ли класс быть добавлен или удален ('true' /' false'). Единственный тон, где имя 'isMyClass' является релевантным, - это когда вы хотите изменить значение, подобное' this.isMyClass = false; ' –

+0

Извините, я не знаю, что вы имеете в виду? Чего вы пытаетесь достичь? Что не работает с кодом в вашем вопросе? –

2

Не думаю, что будет работать, но есть легкие обходные пути:

Если вы хотите, чтобы стиль размещения/цвет и т.д. компонента:

Лучшее временное решение разместить <myComponent></myComponent> внутри <div> и применить класс к этому div

Если вы хотите стилизовать содержание компонента:

добавления styleUrls в вашем Component и укладка содержимого с css файла

0

вы можете с помощью хоста метод

import {Component} from "@angular/core"; 

@Component({ 
    selector: 'COMPONENT NAME', 
    templateUrl: 'COMPONENT URL', 
    host: { 
     '[class.CLASS NAME]': 'VARIABLE NAME' 
    } 
}) 

export class componentName{ 
} 
Смежные вопросы