2015-12-24 3 views
11

Я ищу способ иметь компонент, который отображается только с его содержимым. Например, если компонент:заменить компонент своим содержимым - угловой 2

@Component({selector: 'my-cmp', template: '<div> my-cmp </div>'}) 
class MyComponent { 
} 

делает его с angular2 добавит следующие к DOM:

<my-cmp> 
    <div> my-cmp </div> 
</my-cmp> 

В то время как я хочу, чтобы найти способ, чтобы сделать это непосредственно, как:

<div> my-cmp </div> 

К сожалению, поскольку угловой 2 относительно новый (только что прошел бета-версия) - Google не очень полезен, не говоря уже о том, что недостает текущей документации ..

ответ

1

Согласно documentation углового 1.x

Заменить сам элемент Директивы (если заменить верно - РЕКОМЕНДУЕТСЯ).

Так я думаю, что эта функция не будет доступна его угловая 2

0

Я помню, задавая подобный вопрос для Angularjs несколько лет назад. По-видимому, консенсус был таким, как сейчас, может быть, вы , вероятно, не хотят этого делать.

Он нарушает семантику: a <video/> или <input/> не разлагается на его содержимое. Ваши угловые компоненты тоже не должны.

Возможно, вы все еще можете достичь того, чего хотите, более глубоко подумав о своей разметке/css? Возможно, если вы воспользуетесь своим прецедентом, мы сможем дать вам альтернативу?

3

Вы можете сделать somethink как следующее:

@Component({selector: 'div.my-cmp', template: 'my-cmp'}) 
class MyComponent { 
} 

и в вашем HTML:

<div class="my-cmp" /> 
+0

ЭТА решить мою проблему. Именно то, что мне нужно. Благодаря! – Methodician

10

Сортировка того же можно достичь, используя селектор атрибута

camelCasing является обязательным для атрибутов с alpha.52

@Component({ 
    selector: '[myCmp]', //attribute selector 
    template: 'my-cmp' 
}) 
class MyComponent { 
} 

И использовать это, чтобы назвать его:

<div myCmp></div> 
+3

это делает мою разметку уродливой, так как тег и классы для компонента больше не интересуют компонент. :-( – NullVoxPopuli

+0

@NullVoxPopuli вы правы ... Вместо этого я хочу написать «пользовательское» имя тега компонента html разметки ...: P –

Смежные вопросы