2
多个布局我想为角> = 2与不同的布局创建UI组件(像一个datepicker)。例如:一为NG-引导,另一个用于角材质2.一个角2 UI组件
我想在此:
<div *ngIf="template === 1"> Bootstrap </div>
<div *ngIf="template === 2"> Angular Material </div>
这不仅是一个丑陋的解决方案,但我不认为它会起作用,因为ng-bootstrap和material2之间会有冲突。
另一种解决方案是创建两个不同的组件:
<my-ng-bootstrap-component> Bootstrap </my-ng-bootstrap-component>
<my-material2-component> Angular Material </my-material2-component>
但是这不是我所需要的。因为这对组件的用户来说会非常混乱。
任何想法?
编辑:另外,它应该共享它们之间的一些逻辑。可能继承?
在此先感谢
听起来也许一个[attribute指令(https://angular.io/docs/ts/latest/guide/attribute-directives.html)简单地应用每个样式框架可能需要的类/组件/函数。然后,这个实现将是很好的和可读的' ui-component>'或' ui-component>'。 –
filoxo
@filoxo你可以添加一个模板到属性指令? – Alex
不需要。将指令看作是无模板组件。但它可以用来动态创建一个可以传回主机的组件。我见过的一个很好的例子是[Angular Material tooltip](https://github.com/angular/material2/blob/master/src/lib/tooltip/tooltip.ts)。如果这看起来太困难或不必要,上面可能只是组件上的@ @输入。 – filoxo