2015-11-30 3 views
5

В Angular2 мы добавляем аннотации к компоненту для описания метаданных для данного компонента. Я заметил, что ComponentMetadata и ViewMetadata оба имеют templateUrl и template. В чем разница между ViewMetadata.template (или templateUrl) против ComponentMetadata.template и какие практические варианты использования для использования одного над другим?Angular2 Component template vs View template

+0

См http://stackoverflow.com/a/33618041/4933038 –

+1

'@View()' собирается быть удалены по протоколу HTTPS : //github.com/angular/angular/pull/7495 –

ответ

5

В одном из последних обновлений angular2 @View был сделан необязательным. Все его свойства переместились в @Components. На данный момент @View является избыточным.

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

+1

И вот почему я не люблю Angular 2.0. Произвольные изменения сделали необязательными, отсутствие документации. – lux

+1

Вот особенности того, где/когда @View был избыточен. Ссылка: https://github.com/angular/angular/pull/4566 –

+0

@lux Проект был только что выпущен из беты. После выпуска бета-версии у проекта постоянно было более 1000 проблем. Упражняйте немного терпения, документация придет со временем. –

0

Да, если аннотация компонента содержит всю функциональность, то зачем использовать аннотацию вида. в соответствии с Документацией мы можем пропустить аннотацию вида, потому что компонент anno. предоставить все, что мы хотим, из аннотации представления. но все-таки есть какой-то момент, почему использовать пояснительных посмотреть answere как сказал @alexpods here.