Итак, все должно быть component.Сделать группу кнопок из директив (компонентов)
Предположим, что я определяю некоторые компоненты кнопок для редактирования/удаления/просмотра объектов моего домена. В качестве примера:
angular.module('xxx').component('editButton', {
bindings: {domainObject: '<'},
template: '<button class="btn btn-default" ng-click="$ctrl.displayEditForm()">Edit</button>'
controller: /* ... */
});
И я использую его как:
<edit-button domain-object="$ctrl.myDomainObject"></edit-button>
Работает отлично! Однако, когда мне нужен конкретный код (например button group), я пытаюсь сделать это как:
<div class="btn-group">
<edit-button domain-object="object"></edit-button>
<delete-button domain-object="object"></delete-button>
</div>
Что, конечно, не отображается правильно Bootstrap, потому что мои кнопки обернуты с определениями компонентов.
Имея в виду, что replace functionality is deprecated, интересно, как преодолеть эту проблему?
Если говорить об абстрактном идеальном компоненте - он должен иметь свой собственный css. Если вы говорите о реальном мире - вам все еще нужны директивы в угловом 1.5 и там В угловом 2 вы можете сопоставлять компоненты с атрибутами html тоже не только с элементами. –
Итак, вы говорите, что я смогу создать '@Component ({selector: '[my-component]'})' в Angular 2? Это решило бы проблему, действительно! Можете ли вы разместить его в качестве ответа, пожалуйста? – fracz
Я только что нашел [директивы атрибутов] (https://angular.io/docs/ts/latest/guide/attribute-directives.html). Они решат проблему в угловом 2. Как и в случае с 1.5, решение заключается в использовании «замены», несмотря на его устаревание или директиву с 'ограничение: 'A''. Так просто! – fracz